绘制进程的内存使用情况

有没有人知道一个工具来直观地显示在Ubuntu上选定的进程的内存使用情况?

ps aux会显示一个数字快照,但是我真的很喜欢我可以看到的一个改变,因为我锤击这个过程并希望看到意外的行为。

有没有人有任何build议?

我找不到任何真正的工具来做到这一点。

但是我发现了一小堆整齐的脚本。

使用这个小bash循环做logging:

 while true; do ps -C <ProgramName> -o pid=,%mem=,vsz= >> /tmp/mem.log gnuplot /tmp/gnuplot.script sleep 1 done & 

这将创build一个名为/tmp/mem.log的内存使用情况很好的小日志文件。 然后使用下面的脚本(使用/tmp/gnuplot.script ),用gnu​​plot生成数据的图像:

 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图像查看器打开图像,当图像发生变化时,图像不断重新加载。 所以如果所有上面的循环都是背景的,那么会出现一个令人惊叹的内存使用graphics工具,在图像浏览器中运行:)

我正在跟踪的过程如下所示: 上升内存使用情况的图表

它看起来像我有一些内存问题:(

其中大部分内容是从http://brunogirin.blogspot.com.au/2010/09/memory-usage-graphs-with-ps-and-gnuplot.html中撕下来的。;

我真的很喜欢用“htop”而不是“top”。 这是非常丰富多彩,有很多选项,如设置,search,倒置,树,sorting,好,杀。 试一试:

 $ sudo apt-get install htop 

HTOP

上面会做的伎俩

 top -b | grep {name of process} top -b -p {PID} top -b -u {userid} 

尝试在命令行中运行“top”命令。 这将显示类似于Windows任务pipe理器的进程列表。