Answers:
这很好用:
while true; do uptime >> uptime.log; sleep 1; done
这将每秒记录一次CPU负载,并将其附加到文件中uptime.log
。
然后,您可以将该文件导入Gnumeric或OpenOffice电子表格中,以创建漂亮的图形(在导入时选择“以空格分隔”)。
正如Scaine所注意到的那样,这还不足以诊断问题。因此,另外,运行此命令(或在此部分中使用他的答案):
while true; do (echo "%CPU %MEM ARGS $(date)" && ps -e -o pcpu,pmem,args --sort=pcpu | cut -d" " -f1-5 | tail) >> ps.log; sleep 5; done
ps.log
每五秒钟会将这10个CPU最繁忙的进程附加到一个文件中。
请注意,这并不是信息的全部top
内容。这只是前十名,也只是它们的CPU使用率,内存使用率和第一个参数(即,它们的命令中没有其他参数,如所示/usr/bin/firefox
)
在使用电子表格创建图表以查看CPU负载何时通过屋顶之后,您可以在此文件中搜索最近的时间,以查看是什么原因导致了该文件。
这些文件将如下所示:
正常运行时间
~$ cat uptime.log
22:57:42 up 1 day, 4:38, 4 users, load average: 1.00, 1.26, 1.21
22:57:43 up 1 day, 4:38, 4 users, load average: 0.92, 1.24, 1.21
22:57:44 up 1 day, 4:38, 4 users, load average: 0.92, 1.24, 1.21
22:57:45 up 1 day, 4:38, 4 users, load average: 0.92, 1.24, 1.21
...
ps.log
%CPU %MEM ARGS Mo 17. Jan 23:09:47 CET 2011
0.7 0.9 /usr/bin/compiz
0.8 0.5 /usr/lib/gnome-panel/clock-applet
1.1 1.7 /opt/google/chrome/chrome
1.2 0.3 /usr/bin/pulseaudio
1.8 4.0 /opt/google/chrome/chrome
2.6 1.5 /opt/google/chrome/chrome
2.6 3.2 /usr/bin/google-chrome
3.6 2.6 /opt/google/chrome/chrome
4.9 1.5 /usr/bin/X
5.7 1.6 /opt/google/chrome/chrome
%CPU %MEM ARGS Mo 17. Jan 23:09:48 CET 2011
0.7 0.9 /usr/bin/compiz
0.8 0.5 /usr/lib/gnome-panel/clock-applet
1.0 1.7 /opt/google/chrome/chrome
1.2 0.3 /usr/bin/pulseaudio
1.8 4.0 /opt/google/chrome/chrome
2.6 1.5 /opt/google/chrome/chrome
2.6 3.2 /usr/bin/google-chrome
3.6 2.6 /opt/google/chrome/chrome
4.9 1.5 /usr/bin/X
5.7 1.6 /opt/google/chrome/chrome
...
ps
没有意义,请尝试以root身份运行它。