PIDSTAT

Section: Linux User's Manual (1)
Updated: JULY 2018
Index Return to Main Contents
 

名前

pidstat - Linux タスクの統計をレポートする。  

書式

pidstat [ -d ] [ -H ] [ -h ] [ -I ] [ -l ] [ -R ] [ -r ] [ -s ] [ -t ] [ -U [ username ] ] [ -u ] [ -V ] [ -v ] [ -w ] [ -C comm ] [ -G process_name ] [ --dec={ 0 | 1 | 2 } ] [ --human ] [ -p { pid [,...] | SELF | ALL } ] [ -T { TASK | CHILD | ALL } ] [ interval [ count ] ] [ -e program args ]  

説明

pidstat コマンドは Linux カーネルで現在管理されている各タスクをモニタリングする。 このコマンドは -p オプションで選択されたタスク、または -p ALL オプションが指定された場合は Linux カーネルが管理するすべてのタスクの活性度を、 標準出力に書き出す。 何も指定しないのは -p ALL を指定するのと同様であるが、 (統計値が 0 でない) アクティブなタスクのみが、レポートに現れる。

pidstat コマンドは選択されたタスクの子プロセスをモニタリングすることもできる。 下記のオプション -T を参照すること。

interval パラメータは各レポート間の時間を指定する。 値が 0 である (またはパラメータを指定しない) 場合、 システムのスタートアップ (ブート) からのタスクの統計をレポートする。 count パラメータは interval パラメータと組み合わせて使われる。 count パラメータが指定されると、 countinterval 秒ごとに生成される回数を決定する。 count パラメータを指定せずに interval パラメータを指定すると、 pidstat コマンドは連続してレポートを生成する。

フラグを使って特定のタスクの活性度の情報を選択できる。 フラグを指定しない場合、CPU の活性度のみが選択される。

 

オプション

-C comm
コマンド名に文字列 comm を含むタスクのみを表示する。 文字列には正規表現を使うことができる。
-d
I/O 統計をレポートする (カーネル 2.6.20 以降のみ)。 以下の値が表示される。

UID

モニタリングされるタスクの実ユーザ識別番号。

USER

モニタリングされるタスクの実ユーザ名。

PID

モニタリングされるタスクの識別番号。

kB_rd/s

1 秒あたりにタスクがディスクから読み出したキロバイト数。

kB_wr/s

1 秒あたりにタスクがディスクへ書き出した、 または書き出そうとしたキロバイト数。

kB_ccwr/s

タスクによってディスクへの書き出しがキャンセルされた キロバイト数。 これは、タスクがダーティなページキャッシュを切り詰める際に 発生する。 この場合、他のタスクからアナウンスされていた I/O が、発生しなくなる。

iodelay

モニタリングしているタスクのブロック I/O 遅延。 クロック ticks で計測する。 この指標は、同期ブロック I/O の完了と スワップインブロック I/O の完了を、待つのに使った時間を含む。

Command

タスクのコマンド名。
--dec={ 0 | 1 | 2 }
使用する小数点の位置を指定する (0 から 2 で、デフォルトは 2 である)。
-e program args
program を指定した引数 args で実行し、 pidstat でモニタリングする。 program が終了すると、 pidstat も停止する。
-G process_name
コマンド名が文字列 process_name を含むプロセスのみを表示する。 文字列には正規表現を使うことができる。 オプション -t を、オプション -G とともに設定すると、 プロセスに属するスレッドも表示される (コマンド名が文字列 process_name を含んでいない場合にも表示される)。
-H
タイムスタンプを紀元 (epoch) からの秒数で表示する。
-h
すべての活性度を横 1 列に表示し、レポートの最後に平均の統計情報を付けない。 これは他のプログラムで解析しやすくことを意図している。
--human
サイズを人間が読みやすいフォーマット (例えば 1.0k, 1.2M など) で表示する。 このオプションで表示される単位は、指標に紐付けられたデフォルトの単位 (例えば、キロバイト、セクターなど) を上書きする。
-I
SMP 環境において、(オプション -u で表示される) タスクの CPU 利用量を 総プロセッサ数で割る。
-l
プロセスのコマンド名とすべての引数を表示する。
-p { pid [,...] | SELF | ALL }
選択されたタスク (プロセス) の統計をレポートする。 pid はプロセス識別番号である。 SELF キーワードを指定すると、 pidstat プロセス自身の統計をレポートする。 また、 ALL キーワードを指定すると、システムで管理されている 全てのタスクの統計をレポートする。
-R
リアルタイム優先度とスケジューリングポリシーの情報をレポートする。 以下の値が表示される。

UID

モニタリングされるタスクの実ユーザ識別番号。

USER

モニタリングされるタスクの実ユーザ名。

PID

モニタリングされるタスクの識別番号。

prio

モニタリングされるタスクのリアルタイム優先度。

policy

モニタリングされるタスクのスケジューリングポリシー。

Command

タスクのコマンド名。
-r
ページフォールトとメモリ利用をレポートする。

各タスクの統計をレポートする場合、以下の値が表示される。

UID

モニタリングされるタスクの実ユーザ識別番号。

USER

モニタリングされるタスクの実ユーザ名。

PID

モニタリングされるタスクの識別番号。

minflt/s

1 秒あたりのタスクが起こしたディスクからメモリへのロードを 必要としないマイナーフォールトの回数。

majflt/s

1 秒あたりのタスクが起こしたディスクからメモリへのロードを 必要としたメジャーフォールトの回数。

VSZ

Virtual Size: タスク全体の仮想メモリの使用量 (キロバイト)

RSS

Resident Set Size: タスクのスワップを含まない物理メモリの使用量 (キロバイト)

%MEM

タスクの現在の使用可能物理メモリの利用率。

Command

タスクのコマンド名。

タスクとその子プロセスの全体統計のレポートでは、 以下の値が表示される。

UID

モニタリングされるタスクと子プロセスの実ユーザ識別番号。

USER

モニタリングされるタスクと子プロセスの実ユーザ名。

PID

モニタリングされるタスクと子プロセスの識別番号。

minflt-nr

計測期間にタスクとすべての子プロセスが起こした マイナーフォールトの回数。

majflt-nr

計測期間にタスクとすべての子プロセスが起こした メジャーフォールトの回数。

Command

モニタリングされるタスクと子プロセスのコマンド名。
-s
スタック使用状況をレポートする。 以下の値が表示される。

UID

モニタリングされるタスクの実ユーザ識別番号。

USER

モニタリングされるタスクの実ユーザ名。

PID

モニタリングされるタスクの識別番号。

StkSize

タスクに予約されたスタックのメモリ量 (キロバイト)。 このメモリは必ず使われる訳ではない。

StkRef

タスクが参照するスタックのメモリ量 (キロバイト)。

Command

タスクのコマンド名。
-T { TASK | CHILD | ALL }
このオプションは、 pidstat コマンドで何をモニタリングするかを指定する。 TASK キーワードを指定すると、各タスクの統計がレポートされる (これがデフォルトオプションである)。 また CHILD キーワードを指定すると、各タスクとその子プロセスの統計が レポートされる。 ALL キーワードを指定すると、各タスクの統計と、 選択されたタスクと子プロセスの統計が表示される。

注意: タスクとその子プロセスの全体の統計は pidstat のすべてのオプションを指定しても利用可能ではない。 これらの統計は現在の期間と関係をもつ必要がない。 子プロセスの統計は、それが終了した場合、または kill された場合に収集される。

-t
選択されたタスクに紐付くスレッドの統計を表示する。

このオプションは以下の値をレポートに追加する。

TGID

スレッドグループリーダーの識別番号。

TID

モニタリングするスレッドの識別番号。
-U [ username ]
モニタリングするタスクの、UID の代わりに実ユーザ名を表示する。 username が指定されると、指定したユーザに紐付くタスクのみが表示される。
-u
CPU 利用状況をレポートする。

各タスクの統計をレポートする際、 以下の値が表示される。

UID

モニタリングされるタスクの実ユーザ識別番号。

USER

モニタリングされるタスクの実ユーザ名。

PID

モニタリングされるタスクの識別番号。

%usr

nice 優先度なしでユーザレベル (アプリケーション) で実行された CPU 利用の割合。 このフィールドは仮想プロセッサで使われる時間を「含まない」。

%system

システムレベル (カーネル) で実行された CPU 利用の割合。

%guest

CPU が仮想マシンのタスク (仮想プロセッサの実行) に使った時間の割合。

%wait

CPU がタスクの実行待ちに使った時間の割合。

%CPU

タスクに使った CPU 時間の合計の割合。 SMP 環境では、オプション -I がコマンドラインから指定された場合、 タスクの CPU 利用率は CPU の合計数で割られる。

CPU

タスクがアタッチされたプロセッサ番号。

Command

タスクのコマンド名。

タスクとそのすべての子プロセスの全体の統計をレポートする場合、 以下の値が表示される。

UID

モニタリングされるタスクと子プロセスの実ユーザ識別番号。

USER

モニタリングされるタスクと子プロセスの実ユーザ名。

PID

モニタリングされるタスクと子プロセスの識別番号。

usr-ms

計測期間の間に、タスクとすべての子プロセスが、 ユーザレベル (アプリケーション) で実行され、 かつ nice 優先度あり、もしくはなしで実行された総時間 (ミリ秒)。 このフィールドは、仮想プロセッサの実行で使った 時間が「含まない」点に注意すること。

system-ms

計測期間の間に、タスクとすべての子プロセスが、 システムレベル (カーネル) で実行された総時間 (ミリ秒)。

guest-ms

計測期間の間に、タスクとすべての子プロセスが、 (仮想プロセッサを実行する) 仮想マシンで実行された総時間 (ミリ秒)。

Command

モニタリングされるタスクと子プロセスのコマンド名。
-V
バージョン番号を表示して、終了する。
-v
カーネルテーブルの値をレポートする。 以下の値が表示される。

UID

モニタリングされるタスクの実ユーザ識別番号。

USER

モニタリングされるタスクの実ユーザ名。

PID

モニタリングされるタスクの識別番号。

threads

現在のタスクに紐付くスレッド数。

fd-nr

現在のタスクに紐付くファイルディスクリプターの数。

Command

タスクのコマンド名。
-w
タスク切り替えの活性度をレポートする (カーネル 2.6.23 以降のみ)。 以下の値が表示される。

UID

モニタリングされるタスクの実ユーザ識別番号。

USER

モニタリングされるタスクの実ユーザ名。

PID

モニタリングされるタスクの識別番号。

cswch/s

1 秒あたりにタスクが起こした自発的 (voluntary) な コンテキストスイッチの回数。 自発的なコンテキストスイッチは、タスクブロックが必要とした リソースが利用可能でない場合に発生する。

nvcswch/s

1 秒あたりにタスクが起こした自発的でない コンテキストスイッチの回数。 自発的でないコンテキストスイッチは、 タスクがタイムスライスの間で実行され、 強制的にプロセッサを放棄させられた場合に発生する。

Command

タスクのコマンド名。
 

環境変数

pidstat コマンドは以下の環境変数を扱う。

S_COLORS
この環境変数を設定すると、端末上で統計をカラー表示する。 この環境変数に指定可能な値は、 never, always, auto である (最後がデフォルトである)。

値を表示する色 (赤、黄、またはその他の色) は、色によって何かの意味を示している訳ではない。 色は値の範囲を示しているだけである。

S_COLORS_SGR
端末で統計を表示する際に、色とその他の属性を指定する。 この値は、コロン区切りの機能のリストで、デフォルトは H=31;1:I=32;22:M=35;1:N=34;1:Z=34;22 である。 サポートされている機能は以下のとおり。

H=
割合が 75% 以上の場合の SGR (Select Graphic Rendition) 部分文字列。

I=
PID, UID, CPU 番号などのアイテム値を表示する SGR 部分文字列。

M=
割合が 50% から 75% の場合の SGR 部分文字列。

N=
0 以外の統計値とタスク名を表示する SGR 部分文字列。

Z=
0 とスレッド名を表示する SGR 部分文字列。

S_TIME_FORMAT
この環境変数が存在し、かつ値が ISO の場合、レポートのヘッダの日付を表示する際に、 現在のロケールを無視する。 代わりに、 pidstat コマンドは ISO 8601 フォーマット (YYYY-MM-DD) を使う。 タイムスタンプも ISO 8601 フォーマットに従う。                     
 

pidstat 2 5
システムのアクティブなタスクの CPU 統計を 2 秒間隔で 5 回レポートする。

pidstat -r -p 1643 2 5

PID 1643 のページフォールトとメモリの統計を 2 秒間隔で 5 回レポートする。

pidstat -C fox|bird -r -p ALL

コマンド名が文字列 "fox" または "bird" を含む すべてのプロセスのページフォールトとメモリの統計を表示する。

pidstat -T CHILD -r 2 5

システムのすべてのタスクの子プロセスについて、 ページフォールトの統計を 2 秒間隔で 5 回レポートする。 統計値が 0 でない子プロセスのみが表示される。
 

バグ

pidstat コマンドが動作するためには、 /proc ファイルシステムがマウントされていなければならない。

 

ファイル

/proc システム統計を含むさまざまなファイルを保持する。

 

著者

Sebastien Godard (sysstat <at> orange.fr)  

関連項目

sar(1), top(1), ps(1), mpstat(1), iostat(1), vmstat(8)

https://github.com/sysstat/sysstat

http://pagesperso-orange.fr/sebastien.godard/


 

Index

名前
書式
説明
オプション
環境変数
バグ
ファイル
著者
関連項目

This document was created by man2html, using the manual pages.
Time: 03:32:53 GMT, March 20, 2020