prstat - アクティブなプロセスの統計を報告する
prstat [-acHJLmRrtTv] [-d u | d] [-C psrsetlist] [-h lgrplist] [-j projlist] [-k tasklist] [-n ntop[,nbottom]] [-p pidlist] [-P cpulist] [-s key | -S key ] [-u euidlist] [-U uidlist] [-z zoneidlist] [-Z] [interval [count]]
prstat ユーティリティーは、システム上のアクティブなプロセスをすべて繰り返し検査し、選択した出力モードとソート順に基づいて統計を報告します。prstat には、指定した PID、UID、ゾーン ID、CPU ID、およびプロセッサセット ID と一致するプロセスだけを検査するオプションが用意されています。
–j、–k、–C、–p、–P、–u、–U、および –z オプションには、引数としてリストを指定できます。リストの項目は、コンマで区切られるか、あるいは引用符で囲まれてコンマかスペースで区切られます。
オプションを指定しない場合、prstat はすべてのプロセスを検査し、CPU 使用状況の順に統計を報告します。
サポートしているオプションは、次のとおりです。
プロセスとユーザーに関する情報を報告します。このモードでは、prstat はプロセスとユーザーに関する別個のレポートを同時に表示します。
前のレポートに重ねて出力するのではなく、前のレポートの下に新しいレポートを出力します。
設定したリストのプロセッサセットにバインドされたプロセスまたは lwp のみを報告します。各プロセッサセットは、psrset(1M) によって報告される整数で識別されます。表示される平均負荷率は、指定したプロセッサセットの平均負荷率の合計です (pset_getloadavg(3C) を参照)。–L オプションが使用されていない場合でも、設定したリストのプロセッサセットにバインドされた 1 つ以上の LWP を持つプロセスが報告されます。
時間の内部表現の出力表現に u を指定します。time(2) を参照してください。 標準の日付フォーマットに d を指定します。date(1) を参照してください。
指定した lgroup のリストにホーム lgroup があるプロセスまたは lwp だけを報告します。無効な lgroup に対しては、プロセスまたは lwp は一覧表示されません。
ホーム lgroup に関する情報を報告します。このモードでは、prstat はプロセスまたは lwp のホーム lgroup を示す列を追加し、ヘッダーに LGRP と表示します。
指定したリストにプロジェクト ID があるプロセスまたは lwp だけを報告します。各プロジェクト ID はプロジェクト名または数値のプロジェクト ID のどちらでも指定できます。project(4) を参照してください。
プロセスとプロジェクトに関する情報を報告します。このモードでは、prstat はプロセスとプロジェクトに関する別個のレポートを同時に表示します。
tasklist にタスク ID があるプロセスまたは lwp だけを報告します。
軽量プロセス (LWP) ごとの統計を報告します。デフォルトでは、prstat は各プロセスの LWP の数だけを報告します。
マイクロステートプロセスアカウンティング情報を報告します。–v モードで表示されるすべてのフィールドに加え、このモードには、プロセスがシステムトラップ、テキストページフォルト、データページフォルトの処理に費やした時間、ユーザーロックの待機および CPU の待機 (待ち時間) に費やした時間の割合 (パーセント) も含まれています。
出力の行数を制限します。ntop 引数は、プロセスまたは lwp 統計が報告される行数を決定し、nbottom 引数は、–a、–t、–T、–J、または –Z オプションが指定されている場合に、ユーザー、タスク、またはプロジェクト統計が報告される行数を決定します。デフォルトでは、prstat は、ウィンドウまたは端末に合わせた出力の行数を表示します。–c オプションを指定した場合、またはファイルへの出力を指定した場合、ntop および nbottom のデフォルト値は 15 および 5 です。
指定したリストにプロセス ID があるプロセスだけを報告します。
指定したリストにある CPU で最後に実行されたプロセスまたは lwp だけを報告します。各 CPU は、psrinfo(1M) によって報告される整数で識別されます。
prstat をリアルタイムスケジューリングクラスに配置します。このオプションが使用される場合、prstat は、タイムシェアリングプロセスおよび対話型プロセスよりも優先されます。このオプションは、スーパーユーザーだけが使用できます。
ユーザー名およびプロジェクト名の検索を無効にします。(これは –j、–u、または –U オプションでの検索には適用されません)。
出力行 (つまり、プロセス、lwp、またはユーザー) を key で降順にソートします。引数として使用できるのは 1 つの key だけです。
使用可能なキー値は 5 つあります。
プロセスの CPU の使用状況順にソートします。これはデフォルトです。
プロセスの優先度順にソートします。
常駐の設定サイズ順にソートします。
プロセスイメージのサイズ順にソートします。
プロセスの実行時間順にソートします。
出力行を key で昇順にソートします。使用可能な key 値は、–s オプションの場合と同じです。–s を参照してください。
ユーザーごとの全体的な使用状況のサマリーを報告します。サマリーには、ユーザーが所有するプロセスまたは LWP の合計数、プロセスイメージの合計サイズ、常駐の合計設定サイズ、CPU の合計時間、および最近の CPU 時間とシステムメモリーの割合 (パーセント) が含まれます。
プロセスとタスクに関する情報を報告します。このモードでは、prstat はプロセスとタスクに関する別個のレポートを同時に表示します。
指定したリストに実効ユーザー ID があるプロセスだけを報告します。各ユーザー ID はログイン名または数値のユーザー ID のどちらでも指定できます。
指定したリストに実ユーザー ID があるプロセスだけを報告します。各ユーザー ID はログイン名または数値のユーザー ID のどちらでも指定できます。
プロセスの詳細な使用状況を報告します。この出力形式には、プロセスがユーザーモード、システムモード、および休止状態で費やした時間の割合 (パーセント) が含まれます。また、コンテキストの自発的および強制的な切り替えの数、システムコール、および受信したシグナルの数も含まれます。報告されない統計は、- 記号でマークされます。
指定したリストにゾーン ID があるプロセスまたは LWP だけを報告します。各ゾーン ID は、ゾーン名または数値のゾーン ID のどちらでも指定できます。zones(5) を参照してください。
プロセスとゾーンに関する情報を報告します。このモードでは、prstat はプロセスとゾーンに関する別個のレポートを同時に表示します。
次に、prstat レポートの列ヘッダーとその意味について説明します。
プロセスのプロセス ID。
実ユーザー (ログイン) 名または実ユーザー ID。
プロセスの合計の仮想メモリーサイズ。マップされたすべてのファイルとデバイスが含まれます。単位は、K バイト (K)、M バイト (M)、または G バイト (G) です。プロセスの常駐の設定サイズ (RSS)。単位は、K バイト (K)、M バイト (M)、または G バイト (G) です。
各ユーザー、プロジェクト、タスク、またはゾーンに関連付けられているプロセスのスワップ予約の合計容量。これは、ユーザー、プロジェクト、タスク、またはゾーンごとに、共有メモリーを一度だけ加算します。スワップが予約されるのは、匿名メモリーが割り当てられた場合、またはファイルが非公開にマップされた場合です。スワップの値は、K バイト (K)、M バイト (M)、または G バイト (G) で表されます。
プロセスの常駐の設定サイズ (RSS) (単位: K バイト (K)、M バイト (M)、または G バイト (G))。RSS 値は、proc(4) によって提供される見積りですが、これは実際の常駐設定サイズより少なく見積もることがあります。容量を計画するためにより正確な使用状況の情報を取得するには、代わりに pmap(1) で –x オプションを使用してください。
プロセスの状態
プロセスは、CPU N 上で実行されています。
休止状態。 プロセスは、イベントが完了するのを待っている
待機状態。プロセスは、CPU 使用率が CPU キャップの強制された制限値まで下がるのを待っている。resource-controls(5) の CPU-caps の説明を参照してください。
実行可能状態。プロセスは、実行待ち行列上にあります。
ゾンビ状態。 プロセスは終了していて、親プロセスは待っていない
プロセスは停止されています。
プロセスの優先度。数値が大きいほど優先度が高くなります。
優先度の計算に使用される nice 値。特定のスケージューリングクラスのプロセスのみが nice 値を持ちます。
プロセスの累積実行時間。
プロセスによって使用された最近の CPU 時間の割合 (パーセント)。非大域ゾーンで実行中で、プール機能がアクティブな場合、割合は、ゾーンがバインドされたプールによって使用中のプロセッサセット内にあるプロセッサの割合になります。
プロセスの名前 (実行されたファイルの名前)。
報告される lwp の lwp ID。
プロセス内の lwp の数。
一部のオプションを使用すると、前述のいくつかの列ヘッダーに加えて、次の列ヘッダーが表示されます。
指定したコレクションにあるプロセスの数。
指定したプロセスコレクションで使用されるメモリーの割合 (パーセント)。
–v または –m オプションを指定すると、次の列が表示されます。
プロセスがユーザーモードで費やした時間の割合 (パーセント)。
プロセスがシステムモードで費やした時間の割合 (パーセント)。
プロセスがシステムトラップの処理に費やした時間の割合 (パーセント)。
プロセスがテキストページフォルトの処理に費やした時間の割合 (パーセント)。
プロセスがデータページフォルトの処理に費やした時間の割合 (パーセント)。
プロセスがユーザーロックの待機に費やした時間の割合 (パーセント)。
プロセスが休止状態で費やした時間の割合 (パーセント)。
プロセスが CPU の待機に費やした時間の割合 (パーセント)。
コンテキストの自主的な切り替え数。
コンテキストの強制的な切り替え数。
システムコールの数。
受信されたシグナルの数。
–L オプションを指定すると、プロセス中の lwp ごとに 1 行ずつ出力され、一部のレポートフィールドにはプロセスではなく lwp の値が表示されます。
–H オプションを指定すると、次の列が表示されます。
プロセスまたは lwp のホーム lgroup。
次のオペランドがサポートされています。
統計を繰り返す回数を指定します。デフォルトでは、prstat は終了シグナルが受信されるまで統計を報告します。
サンプリング間隔を秒単位で指定します。デフォルトの間隔は 5 秒です。
次のコマンドは、CPU1 および CPU2 で実行中のもっともアクティブな 5 つのスーパーユーザープロセスを報告します。
example% prstat -u root -n 5 -P 1,2 1 1 PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/LWP 306 root 3024K 1448K sleep 58 0 0:00.00 0.3% sendmail/1 102 root 1600K 592K sleep 59 0 0:00.00 0.1% in.rdisc/1 250 root 1000K 552K sleep 58 0 0:00.00 0.0% utmpd/1 288 root 1720K 1032K sleep 58 0 0:00.00 0.0% sac/1 1 root 744K 168K sleep 58 0 0:00.00 0.0% init/1 TOTAL: 25, load averages: 0.05, 0.08, 0.12使用例 2 プロセス使用状況の詳細情報の表示
次のコマンドは、ユーザー root および john が所有する最小の常駐設定サイズのプロセスに関するプロセス使用状況の詳細情報を表示します。
example% prstat -S rss -n 5 -vc -u root,john PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP 1 root 0.0 0.0 - - - - 100 - 0 0 0 0 init/1 102 root 0.0 0.0 - - - - 100 - 0 0 3 0 in.rdisc/1 250 root 0.0 0.0 - - - - 100 - 0 0 0 0 utmpd/1 1185 john 0.0 0.0 - - - - 100 - 0 0 0 0 csh/1 240 root 0.0 0.0 - - - - 100 - 0 0 0 0 switchd/4 TOTAL: 71, load averages: 0.02, 0.04, 0.08
次の終了ステータスが返されます。
正常終了。
エラーが発生した。
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|
date(1)、lgrpinfo(1)、plgrp(1)、proc(1)、ps(1)、time(2)、psrinfo(1M)、psrset(1M)、sar(1M)、pset_getloadavg(3C)、proc(4)、project(4)、attributes(5)、resource-controls(5)、zones(5)
prstat によって表示されるシステム使用状況のスナップショットは、ある瞬間だけに当てはまるものであり、表示された時点では正確でない場合があります。–m オプションが指定された場合、prstat はプロセスごとにマイクロステートアカウンティングをオンに設定しようとします。prstat が終了すると、元の状態が復元されます。マイクロステートアカウンティング機能については、proc(4) を参照してください。
プロセスのグループの SWAP および RSS 列に報告される合計メモリーサイズは、共有メモリーセグメントを持つプロセスが使用する実際のメモリーサイズより多く見積もられる場合があります。