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