检查进程内存泄漏

Posted suterfo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检查进程内存泄漏相关的知识,希望对你有一定的参考价值。

 有时经常要检查一个服务是否有内存泄漏,于是我们可以用数据收集器集来检查。

 1、打开计算机管理--系统工具--性能--数据收集器集--用户定义。 

技术图片

  

 2、选用户定义,右键--新建--数据收集器集。

技术图片

 

 3、创建新的数据收集器集,选“手动创建” 。

技术图片

 

 4、勾选“性能计数器”。

 技术图片

 5、点击“添加”按钮。

 技术图片

 

 6、性能泄漏测试,主要关心以下指标。

(1)Process/% Processor Time

(2)Process/Handle Count

(3)Process/Private Bytes

(4)Process/Thread Count

 

在“选定对象的实例”里,添加自己要进行测试的程序服务。

技术图片

 

 技术图片

  

技术图片

 7、 以下是本次添加了的所有性能计数器。

技术图片

 8、保存位置默认即可。 

技术图片

 

 9、点击“完成”。

技术图片

 

 10、 在刚才创建完成的“数据收集器集”的项里,右键--属性。

技术图片

 

 11、将日志格式改为“制表符分隔” ,间隔时间为“10秒”。

技术图片

 

 12、启动数据收集器集。 

技术图片

 

13、然后等待一段时间,起码是6小时以上。在对应的路径,用excel打开tsv格式的文件。

技术图片

 

 

 

14、用excel打开后,选择时间和其中一列的数据,插入二维折线图。就可以以比较直观的方式查看到是否有内存泄漏了。

 技术图片

 

 

 15、当查到内存时,此处可见有内存泄漏。

技术图片

 

 

参考文章:

https://blog.csdn.net/invisible_sky/article/details/78205576

https://blog.csdn.net/bearcatfly/article/details/70791262

https://www.cnblogs.com/demonzyz/p/4726500.html

https://www.cnblogs.com/qmfsun/p/4860824.html

 

以上是关于检查进程内存泄漏的主要内容,如果未能解决你的问题,请参考以下文章

聊一聊内存泄漏 ------在valgrind检查不出来时怎么办??

聊一聊内存泄漏 ------在valgrind检查不出来时怎么办??

C++ 代码内存泄漏

如何检查 C++ 代码中的内存泄漏。有没有检查内存泄漏的免费工具[重复]

电脑内存泄漏是怎么回事

如何查看和调试动态链接库的内存泄露