linux怎么看某个进程有没有内存泄露啊?
我用ps -F -p 进程号 持续查看进程情况,数小时。
输出两个列中SZ好像一直保持不变,但是RSS列的值一直增大,这个说明程序有内存泄露吗?
输出两个列中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中设置每分钟统计一次。
可以写个定时任务,定时将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