回答:
これは非常にうまく機能します:
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
これにより、CPUを最も多く消費する上位10のプロセスがps.log
5秒ごとにファイルに追加されます。
これは、大量の情報top
を提供するものではないことに注意してください。これは、トップ10であり、CPU使用率、メモリ使用率、および最初の引数(つまり、などの引数なしのコマンド/usr/bin/firefox
)のみです。
スプレッドシートを使用してグラフを作成し、CPU負荷が屋根を通過した時間を確認したら、このファイルを最も近い時間で検索して、どのプロセスが原因であるかを確認できます。
これらのファイルは次のようになります。
uptime.log
~$ 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として実行してみてください。
あなたが実行することができます top
-b
オプションを使用しコマンドをバッチモードで、それをファイルにダンプできます。
PCの起動時に、ターミナルを開いて実行します
top -b > ~/cpu.txt
次に、PCがフリーズしたら、(おそらく巨大な)テキストファイルを開き、クラッシュの直前に実行されていた内容の詳細について最後のエントリを確認します。実際には、ファイルは非常に大きくなるので、tail -250 ~/cpu.txt
代わりにを。
また、問題がハードウェアに関連している場合は、/ var / log / kern.logを確認してください(これはアップグレード後にのみ発生する可能性がありますが、確認する価値があります)。