CPU負荷を記録する方法は?


回答:


42

これは非常にうまく機能します:

 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.log5秒ごとにファイルに追加されます。

    これは、大量の情報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
 ...

3
これは実際に正しいCPU使用率を出力しますか?? 私はこれをcentosで試してみましたが、メモリ使用量のみが正しいです:(
Menelaos Bakopoulos 14年

Putty接続を閉じた後でも、このコマンドをVPSで実行し続けるにはどうすればよいですか?
ルーカスブスタマンテ

1
によって報告されるCPU使用率psが意味をなさない場合は、rootとして実行してみてください。
ステファノパラッツォ

Putty接続を閉じた後でも、このコマンドをVPSで実行し続けるにはどうすればよいですか????
モスタファ

10

あなたが実行することができます top-bオプションを使用しコマンドをバッチモードで、それをファイルにダンプできます。

PCの起動時に、ターミナルを開いて実行します

top -b > ~/cpu.txt

次に、PCがフリーズしたら、(おそらく巨大な)テキストファイルを開き、クラッシュの直前に実行されていた内容の詳細について最後のエントリを確認します。実際には、ファイルは非常に大きくなるので、tail -250 ~/cpu.txt代わりにを。

また、問題がハードウェアに関連している場合は、/ var / log / kern.logを確認してください(これはアップグレード後にのみ発生する可能性がありますが、確認する価値があります)。



0

パテ(SSHクライアント)セッション終了後にこのコマンドを実行する必要がある人向け。コマンドを使用できますscreen(またはを使用してインストールしますapt-get

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.