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
パラメータが指定されると、
count
は
interval
秒ごとに生成される回数を決定する。
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