ubuntu 绘制进程的内存使用图[已关闭]

lndjwyie  于 2022-12-22  发布在  其他
关注(0)|答案(7)|浏览(124)

我们不允许问题寻求有关书籍、工具、软件库等的推荐。你可以编辑问题,以便可以使用事实和引用来回答问题。
2天前关闭。
社区在2天前审查了是否重新讨论此问题,并将其关闭:
原始关闭原因未解决
Improve this question
有没有人知道一个工具可以直观地显示Ubuntu上选定进程的内存使用情况?
ps aux将显示一个数字快照,但我真的希望有一行,我可以看到变化,因为我锤的过程,并希望看到意外的行为。
有人有什么建议吗?

fafcakar

fafcakar1#

我找不到任何真实的的工具来做。
但我已经找到了一个简洁的小脚本集,可以做到这一点。
使用下面这个小bash循环进行日志记录:

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

这将创建一个很好的内存使用日志文件,名为/tmp/mem. log,然后使用gnuplot生成数据图像,使用以下脚本(将其放入/tmp/show_mem.plt):

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,信贷的地方,它是由于。

nx7onnlm

nx7onnlm2#

这个公认的答案对我很有效,但是每次我想测量内存时,我都有点累,要做这么多的复制/粘贴,所以我为此创建了一个小工具:https://github.com/parikls/mem_usage_ui
安装使用

pip install mem_usage_ui

在shell中键入mem_usage_ui,启动浏览器GUI。
结果如下所示:

vbopmzt1

vbopmzt13#

Python包Memory Profiler也可以处理非Python的可执行二进制文件。
使用mprof生成可执行文件的完整内存使用情况报告并绘制该报告:

mprof run <executable>
mprof plot

剧情大概是这样的:

它可以在PyPI上找到,因此可以安装:

pip install -U memory_profiler
w46czmvw

w46czmvw4#

我真的很喜欢使用“htop”而不是“top”。它非常丰富多彩,有很多选项,如设置、搜索、反转、树、排序、nice、kill。给予看吧:

$ sudo apt-get install htop

vawmfj5a

vawmfj5a5#

目标$PID进程的驻留集大小可以流式传输到ttyplot以进行实时显示:

while :; do grep -oP '^VmRSS:\s+\K\d+' /proc/$PID/status \
    | numfmt --from-unit Ki --to-unit Mi; sleep 1; done | ttyplot -u Mi

yftpprvb

yftpprvb6#

托普会成功的

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

z9smfwbn7#

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

相关问题