top は実行中のすべてのプロセスの概要を取得するために使用されますが、コマンド pidstat を使用すると、個々のプロセスまたはプログラムによる CPU 使用率を監視できます。次のコマンドを使用して、MySQL (またはその他のタスク名) によって消費される CPU を監視します:
$ pidstat -C mysql
pidstat を使用すると、次のように、プロセス ID または PID によって特定のプロセスの統計を照会することもできます。
$ pidstat -p 1254
pidstat アプリケーションは、デフォルトではインストールされない場合があります。このコマンドでインストールできます:
# apt-get install sysstat
または
# yum install sysstat
pidstat アプリケーションには、さまざまなレポートを生成するためのいくつかのオプションがあります:
- -d :これは IO 統計を報告します。
- -r :これは、ページ フォールトとメモリ使用率を報告します。
- -u :これは CPU 使用率を報告します。
- -w :タスクの切り替えを報告します。
Linux での pidstat コマンドの例
1. Linux タスクの統計をレポートするには:
# pidstat
2. コマンド名に文字列 comm が含まれるタスクのみを表示するには:
# pidstat -C comm
3. I/O 統計を報告するには:
# pidstat -d
4. すべてのアクティビティを 1 行に水平に表示するには:
# pidstat -h
5. プロセス コマンド名とそのすべての引数を表示するには:
# pidstat -l
6. 統計を報告するタスク (プロセス) を選択するには:
# pidstat -p 1234
7. ページ フォールトとメモリ使用量を報告するには:
# pidstat -r
8. 選択したタスクに関連付けられたスレッドの統計を表示するには:
# pidstat -t
9. pidstat コマンドで何を監視する必要があるかを指定するには:
# pidstat -T
10. CPU 使用率を報告するには:
# pidstat -u
11. バージョン情報を印刷するには:
# pidstat -V
12. タスク切り替えアクティビティを報告するには:
# pidstat -w
結論
pidstat アプリケーションは、カーネルにクエリを実行してタスク情報を取得します。 pidstat プログラムは、プロセスごとの統計を報告します。この統計は、並べ替えて詳細な洞察を得ることができます。