GNU/Linux >> Linux の 問題 >  >> Linux

プロセスごとの CPU 使用率を記録するにはどうすればよいですか?

解決策 1:

次のようなことを試すことができます:

while true; do ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10 >> logfile.txt; printf "\n" >> logfile.txt; sleep 3; done

これにより、CPU 使用率の観点から上位 10 のプロセスが表示されます。 「head -10」の 10 を別の数に変更することで表示されるプロセスの数を変更できます。また、「sleep 3」の 3 を変更するか、「sleep 3」の部分を完全に削除することで更新頻度を変更できます。

解決策 2:

Top をチェックアウトすると、ほぼすべてのバイナリ ログが書き込まれ、GUI のようなトップを使用して 1 日のタイム スライスを確認できます (デフォルトでは 5 分ごとにデータが取得されます)。 http://www.atcomputing.nl/Tools/atop/

解決策 3:

munin は、ボックスのアクティビティに関する情報を取得するのに役立つ監視ツールの 1 つだと思います。また、sar、iostat、ps、top などのコマンド ライン ツールもあります。

解決策 4:

他の回答は、現在何が起こっているかを確認する方法を示しただけであり、システムが再起動されている場合は役に立ちません.

この情報を後世 (または課金、またはその他の用途) のために記録したい場合は、プロセス アカウンティングが必要です。

これは私が見つけた HOWTO ですが、正直に言うと、プロセス会計を使用してから 10 年になります。

http://tldp.org/HOWTO/Process-Accounting/

解決策 5:

ほぼリアルタイムの監視のための shawn のソリューションへのよりユーザーフレンドリーなアプローチ:

while true; do clear; ps -eo pcpu,pmem,pid,user,args --sort=-pcpu c|head -20; sleep 1; done

これにより、1 秒ごとに更新される上位 20 プロセスの静的ビューが提供されます。 ps コマンドの「c」オプションは、args コマンド全体ではなく、プロセスの実行可能ファイル名を出力します。代わりにコマンド情報全体が必要な場合は、このオプションを省略できます。 %memory usage 列も追加されました。


Linux
  1. Linux でのプロセス メモリ/CPU 使用量の制限

  2. Linux でプロセスごとのネットワーク I/O 使用率を監視するにはどうすればよいですか?

  3. Linux でメモリ使用量はどのように報告されますか?

  1. 親 1 で <defunct> プロセスを強制終了する方法

  2. Linux - プロセスがいつ開始されたかを確認するにはどうすればよいですか?

  3. プロセスごとのディスク I/O 使用率を確認する方法は?

  1. LinuxでプロセスのCPU使用率を制限する方法

  2. Linuxで単一プロセスのCPU使用率とメモリ使用率を取得しますか?

  3. CPU 使用率の高い apache プロセスが実際に行っていることを調べますか?