linux怎么看某个进程有没有内存泄露啊?

我用ps -F -p 进程号 持续查看进程情况,数小时。

输出两个列中SZ好像一直保持不变,但是RSS列的值一直增大,这个说明程序有内存泄露吗?

作者: david19800108   发布时间: 2011-01-10

不一定,有些程序在运行时要动态申请和释放内存

作者: Harry_lyc   发布时间: 2011-01-10

可以通过/proc/进程号/status 中的VmSize查看内存的变化,还有free命令
可以写个定时任务,定时将status保存到某个文件中,运行一段时间。
PID=`ps -ef |grep 程序名 |sed -n '2p' |awk '{print $2}'`
free >> $DIR/memory.log
echo "-----/proc/$PID/status-------">>$DIR/memory.log

定时任务可以在crontab中设置每分钟统计一次。

作者: wangtingguang   发布时间: 2011-01-10