有没有人知道一个工具来可视地显示在Ubuntu上选定进程的内存使用情况?
ps aux将显示一个数字快照,但我真的很喜欢一条线,我可以看到改变,我敲了过程,希望看到意想不到的行为。
有人有任何建议吗?
我找不到任何真正的工具来做。
但是我发现了一套简洁的小脚本集。
使用这个小bash循环来进行日志记录:
while true; do ps -C <ProgramName> -o pid=,%mem=,vsz= >> /tmp/mem.log gnuplot /tmp/gnuplot.script sleep 1 done &
这将创建一个很好的内存使用的小日志文件,称为/tmp/mem.log。然后使用以下脚本(将其放在/tmp/gnuplot.script中)使用gnuplot生成数据的映像:
set term png small size 800,600 set output "mem-graph.png" set ylabel "VSZ" set y2label "%MEM" set ytics nomirror set y2tics nomirror in set yrange [0:*] set y2range [0:*] plot "/tmp/mem.log" using 3 with lines axes x1y1 title "VSZ",\ "/tmp/mem.log" using 2 with lines axes x1y2 title "%MEM"
然后使用默认GNOME图像查看器打开图像,它会在图像更改时重新加载图像。所以如果所有上面的循环是背景的,它会出现,你有一个惊人的内存使用图形工具在图像查看器中运行:)
我正在跟踪的过程现在看起来像这样:
它看起来像我有一些内存问题:(
大部分是从http://brunogirin.blogspot.com.au/2010/09/memory-usage-graphs-with-ps-and-gnuplot.html撕裂,信用到期。