valgrind检查内存泄露html
#valgrind ./程序ubuntu
内存泄漏问题,咱们有memcheck工具来检查。很爽。可是有时候memcheck工具查了没泄漏,程序一跑,内存仍是狂飙。这又是什么问题。。。app
其实memcheck检查的内存泄漏只是狭义的内存泄漏,或者说是严格的内存泄漏,也就是说,在程序运行的生命周期内,这部份内存你是完全释放不了了,即,你失去了这些地址。工具
其实还有第二种类型的内存泄漏,就是,长期闲置的内存堆积。这部份内存虽然你还保存了地址,想要释放的时候仍是能释放。关键就是你忘了释放。。。杯具啊。这种问题memcheck就不给力了。这就引出了第二个内存工具valgrind –tool=massif。.net
会产生massif.out.****的文件,而后使用firefox
# ms_print massif.out.*** >massif.logcode
massif 能够的帮咱们发现不少问题,好比现实中老是遇到一些内存一直上涨,能够就是没有memory leaker的状况, 其实这样的状况并不奇怪,很是容易发生,好比每次循环的时候你并无把上次的内存释放,同时不断在后面添加更多的内容,这显然不会有memory leaker,却是到了必定的程度,天然会发生bad alloc的问题。对于这样的问题massif就能够大显身手,比较一下两个内存的切片,增长的部分天然就发现了。htm
官方主页教程:http://valgrind.org/docs/manual/ms-manual.htmlblog
先看一个图是分析firefox内存使用的:教程
安装massif-visualizer
massif-visualizer是ubuntu下的图形化分析工具
http://get.ubuntusoft.com/app/massif-visualizer
项目主页:
https://projects.kde.org/projects/extragear/sdk/massif-visualizer
massif-visualizer下载:
http://tel.mirrors.163.com/ubuntu/pool/universe/m/massif-visualizer/
软件包详细信息
:
http://packages.ubuntu.com/massif-visualizer
安装massif-visualizer:
来源: https://blog.csdn.net/liweigao01/article/details/81292184