memleax
memleax檢測內(nèi)存的思想是歌亲,監(jiān)控進(jìn)程內(nèi)存分配和釋放菇用,打印出長期未釋放的內(nèi)存,因此更擅長排查內(nèi)存增長問題陷揪。
memleax不需要單獨(dú)編譯程序惋鸥,直接運(yùn)行你的程序,使用memleax命令檢測進(jìn)程id
安裝
//centos7
yum install libunwind-devel graphviz libdwarf elfutils-libelf-devel
git clone https://github.com/WuBingzheng/memleax.git
cd memleax
mkdir build
cd build
cmake ../
make -j6
make install
使用
1鹅龄、首先運(yùn)行你的程序
2揩慕、/usr/bin/memleax -e 60 62240 62240為被檢測的進(jìn)程id, 60表示檢測60s未釋放的內(nèi)存
會直接打印,長期未釋放內(nèi)存扮休,建議啟動自己測程序,先完成所有初始化操作后拴鸵,再使用memleax檢測玷坠。
主要觀測 free=0的,因為如果不是0劲藐,可能還是會釋放的
缺點(diǎn):只適合檢測比較小的程序八堡,計算量太大的程序會變慢,可能導(dǎo)致功能不正常聘芜。