参考《c专家编程》
内存泄露的主要症状:
内存泄露的进程速度减慢。(体积大的进程更有可能被系统换出来,让别的进程运行,而且大的进程在换进换出时花费的时间更多)
如何检测内存泄露:
1.用swap命令(或者top 、 fdisk -l 、 free -m、netstat、vmstat等) 来观察可用的交换区空间,看看可用的交换区是否在减少。如果发内存被分配且从不释放,就有可能是内存泄露了
2.定位内存泄露进程,如果你不清楚哪个进程泄露了内存了,可用” ps -lu 用户名 “ 来显示所有进程的大小,sz 列就是进程页面的数目
使用工具来监测内存泄露如valgrind,需要直安装
$ valgrind --tool=memcheck ./a.out