SYSTAT(1) — UNIX Programmer’s Manual
名称
systat − システム統計を CRT に表示する
形式
systat [ −display ] [ refresh-interval ]
解説
systat はカーソル画面ディスプレイライブラリ curses(3X) を用いて画面指向スタイルでさまざまなシステム統計データを表示します。
systat の実行中には画面は通常 2つのウィンドウに分かれます (例外として vmstat 画面は画面全体を使用 )。 上のウィンドウは現在のシステム平均負荷を表示します。 下のウィンドウにはユーザコマンドによってさまざまな情報が表示されます。 画面の最下行はユーザ入力とエラーメッセージ用にリザーブされています。
デフォルトで systat は最も多くプロセッサを使用したプロセスを下のウィンドウに表示します。 そのほか、 画面にはスワップスペースの利用状況、 ディスク I/O 統計 (iostat(1) 流に)、 バーチャルメモリ統計 (vmstat(1) 流に)、 ネットワーク mbuf 利用状況、 ネットワーク接続状況 (netstat(1) 流に)を表示します。
入力は異なった 2つのレベルで解釈されます。 「グローバル」コマンドインタープリタはすべてのキーボード入力を処理します。 このコマンドインタープリタがコマンドを認識できないと 入力行はディスプレイ単位コマンドインタープリタに渡されます。 これによって各ディスプレイは ディスプレイ固有のコマンドを持つことができます。
以下の特定の文字を使って systat は迅速な動作が可能になります。
^L画面をリフレッシュする。
^G下のウィンドウに表示されるカレントディスプレイの名称と リフレッシュインターバルを表示する。
^Zsystat を停止させる。
:カーソルをコマンド行に移動し、 コマンドとしてタイプされた入力行を解釈する。 コマンドを入力している間、 現在の文字消去、 語消去、 行消去文字が使用できる。
以下のコマンドは 「グローバル」コマンドインタープリタによって翻訳されます。
help使用可能なディスプレイの名称をコマンド行に表示。
load直前の 1分、5分、15分間の平均負荷をコマンド行に表示。
stop画面リフレッシュを止めます。
[ start ] [ number ]
画面のリフレッシュを開始 (継続)。 2番目の数値引数が与えられると、 リフレッシュインターバル (秒単位) と解釈されます。 number だけを与えると、 リフレッシュインターバルをその値にします。
quitシステムを終了させる (q と短縮できる)。
使用可能なディスプレイは、次のものです。
pigs
下のウィンドウには、メインメモリに常駐されるプロセス処理で、 プロセッサの大きな部分を占めているものを表示します (デフォルト) 。 プロセッサのスケジュールが、ユーザプロセスに対して 100 パーセント以下の場合、 残りの時間は「アイドル」処理とみなされます。
iostat下のウィンドウにプロセッサの使用状況とディスクスループットが表示されます。 プロセッサ使用状況の統計は、ユーザモード (user)、 低い優先度の処理で実行されるユーザモード (nice)、 システムモード (system)、 そして、 アイドル(idle)における合計実行時間が棒グラフで表されます。 ディスクスループット統計は、 デバイスごとに転送データがキロバイトで、 実行されたディスクトランザクション数と平均シーク時間 (ミリ秒) が 表示されます。 この情報は棒グラフまたは下方スクロールする数字列として表示されます。 棒グラフはデフォルトで表示されます。 このディスプレイ固有のコマンドはあとで説明します。
swapシステム構成されているスワップデバイスそれぞれについて、 使用中の swap スペースを表示します。 2組の棒グラフが下のウィンドウに表示されます。 上のグラフには純粋なテキストセグメント(code)に 割り当てた swap スペースを表示し、 下のグラフにはスタックセグメントと データセグメントに割り当てられたスペースを表示します。 割り当てられたスペースは、サイズによって、 dmmin、 dmmin∗2、 dmmin∗4、 dmax のそれぞれのバケツに振り分けられます (システムがとっている割り当て方針を反映して)。 ディスクのセグメントサイズはセクタ単位でテキストのグラフと、 データおよびスタックのグラフの左側に表示されます。 ユーザブロックとページテーブルに割り当てられたスペースについての説明は、 今のところされていません。
mbufs下のウィンドウに、特別な用途、 すなわち、データやソケット構造体その他に 割り当てられた mbuf の個数を表示します。
vmstat
ディスプレイ全体を使い、 バーチャルメモリの利用状況、 プロセススケジューリング、 デバイス割り込み、 ディスク I/O などに関する統計の要約を表示します。
画面を 4分割した左上の部分はログインしたユーザ数と、 最後の 1、 5、 15分における平均負荷を示します。 この行の下はメモリ利用統計を示します。 表の最初の行は、直前の 20 秒間に走っていた アクティブプロセスだけについてメモリ使用状況を示します。 2番目の行はすべてのプロセスのメモリ使用状況を示します。 第1カラムは、プロセスが要求した物理ページ数を示します。 第2カラムは、リードオンリーテキストページに使用された 物理ページ数を示します。 第3、第4 カラムには、 バーチャルページについて同じく 2つの数が示されます。 それは、すべてのプロセスが自分のページを 全部持っていた場合に必要なページ数です。 最後のカラムはフリーリスト中の物理ページ数を示します. メモリの下にはディスク使用状況が表示されます。 これはシーク数、 転送数、 ディスプレイのリフレッシュインターバル (デフォルトでは 5 秒)における1秒間あたりの平均転送ブロック数を、 キロバイトで表示します。 いくつかのディスクでは、 シーク平均時間がミリ秒で表示されます。 ディスク表示の下は (最後のリフレッシュインターバルでの) プロセスの平均個数が表示されます。
ここでの表示には、 実行可能 (r)、 ページウェイト (p)、 ページング以外のディスクウェイト(d)、 スリーピング (s)、 スワップアウトされているが実行したい (w) です。 キューレングスリストの下は数字と棒グラフで、 システム合計 (= と表示)、 ユーザ ( > で表示) 、 nice( − と表示)、 そしてアイドル時間(‘ ’と表示) が表示されます。
4分割の右上部の日付の下はページングと スワッピングのアクティビティの統計です。 最初の 2つのカラムは、 ページフォールトとページデーモンによって出し入れされた、 最新のリフレッシュインターバルにおける 1秒間あたりの平均ページ数を示しています。 3番目と 4番目のカラムは、 スケジューラから出されたスワップ要求によって出し入れされた、 最新のリフレッシュインターバルにおける 1秒間あたりの平均ページ数を示しています。 表示の 1行目は、 最新のリフレッシュインターバルにおける 1秒間あたりの平均ディスク転送回数を示しています。 表示の 2行目は、 最新のリフレッシュインターバルにおける 1秒間あたりの 平均転送ページ数を示しています。
ページング統計の下は、 リフレッシュインターバルにおける 1秒間あたりの 次の数の平均をそれぞれ示しています。 リクレームの合計(Rec)、 イントランジットブロッキングページフォールト(It)、 フリーリストにあるスワップテキストページ(F/S)、 フリーリストにあるテキストページ(F/E)、 フリーリストからのリクレーム(RFL)、 クロックデーモンによって開放されたページ(Fre)、 開放されたシーケンシャルプロセスページ(SFr)。
この行の下には、 リフレッシュインターバルにおける 1秒間あたりの ゼロクリアされたページの平均数(zf)と デマンドフィルドテキストページの平均数(xf)が表示されます。 最初の列には解決されたリクエスト数、 第2 列にはセットアップ数、 最後の列にはリクエストで実際使用されたセットアップ数のパーセンテージです。 このパーセンテージは普通 100 % 未満であることに注意してください。 ただし、長い間、新しいページが設定されず、 この間、設定されたしばらく後に多数のリクエストが処理された場合、 100 % を越す場合があります。 従ってこれは長期間にわたって、 たとえばブート時から、 観察すると大変興味深いデータです。 (このような表示が出たら下を見てください。)
ページフィル統計の下は、 リフレッシュインターバルにおける 1秒間あたりのコンテキストスイッチ(Csw)、 トラップ(Trp)、 システムコール(Sys)、 割り込み(Int)、 擬似DMA 使用したポートへの文字出力(Pdm)、 ページフォールト(Flt)、 ページデーモン(Scan) によってスキャンされたページ、 ページデーモンのハンド回転数(Rev)のそれぞれの平均をリストアップする欄です。
ディスプレイの右下を見ると、 システムによって処理された割り込みの内訳が表示されます。 リストの先頭にタイムインターバルにおける 1 秒当たりの 総割り込み回数が示されます。 残りの欄はデバイスごとの総割り込み数です。 ブート以来 1度でも割り込みが行われると、 その装置が示されます。
netstat
下のウィンドウにネットワーク接続状況が表示されます。 デフォルトでは、 リクエスト待ちのネットワークは表示されません。 各アドレスはそれぞれ、 host.port の形式で表示され、可能ならシンボルでも表示されます。 アドレスを数値で表示するのを、 ポート、 ホスト、 およびプロトコル、 あるいはこれのいずれかに限定することができます。 下のコマンド一覧を参照してください。
ディスプレイ間で切り替わるコマンドは、 最小限、 識別可能な接頭文字に短縮できます。 たとえば、 iostat を IO に短縮します。 特定の情報は、 画面サイズが小さくて表示できない時に廃棄されます。 たとえば、 24 行端末では、 10 個のドライブを持つマシンでも、 iostat 棒グラフは 3 ドライブしか表示されません。 棒グラフが割り当てられた画面がスペースをオーバーフローするとカットされ、 実際の値が棒グラフの上に表示されます。
次のコマンドは iostat ディスプレイ固有のです。 識別できる最小限の接頭語を与えてください。
numbers
ディスク I/O 統計を数値で示します。 値は下方にスクロールする数値欄に表示されます。
bars棒グラフの形でディスク I/O 統計を表示します (デフォルト)。
msps平均シーク時間の表示を切り替えます (デフォルトではディスクシークタイムを表示しません)。
以下のコマンドは vmstat ディスプレイ固有です。 識別できる最小限の接頭語を与えてください。
bootシステムがブートして以来の累計データを表示します。
runこのコマンドが実行開始後の実行中総統計データを表示します。
timeリフレッシュインターバルで平均した統計データを表示します (デフォルト)。
zero実行中統計をゼロにリセットします。
以下のコマンドはディスク装置についてのデータを表示する、 各ディスプレイ共通のコマンドです。 これらのコマンドは、 ユーザのシステムが通常画面で表示されるより多くのドライブを 接続するような場合、 報告すべきドライブセットの選択に使用されます。
ignore [ drives ]
指定のドライブ情報を表示しません。 空白で区切り、 複数のドライブを使用できます。
disply [ drives ]
指定のドライブ情報を表示します。 空白で区切り、 複数のドライブを使用できます。 次のコマンドは netstat 表示に固有です。 識別できる最小限の接頭語にしてかまいません。
allリクエスト待ちのサーバプロセスの表示を切り替えます (これは nestat(1) に対する −a フラグと等価です) 。
numbers
ネットワークアドレスを数値で表示します。
namesネットワークアドレスをシンボル(名前)で表示します。
このほかのコマンドはネットワーク接続を 報告するディスプレイに共通です (現在は netstat だけです)。
これらのコマンドは systat が報告すべき特定の接続セットを選択するのに使用できます。
protocol
指定されたプロトコルを用い、 ネットワーク接続だけを表示します (現在のところ tcp か udp のいずれか)
ignore [ items ]
指定のホストあるいはポートに関係する接続情報を表示しません。 ホストとポートは名前(ucbmonet, ftp) または数値的に指定できます。 ホストアドレスは Internet ドット表記 (128.32.0.9) を使用しています。 空白で区切って 複数のアイテムを 1つのコマンドで指定できます。
display [ items ]
指定のホストあるいはポートに関係する接続情報を表示します。 ignore と同じように items は名前が数値です。
show [ ports|hosts ]
コマンド行で現在選択されているプロトコル、 ホスト、 ポートを表示します。 無視 されているホストとポートは先頭に ! を付けます。 show に対してポートやホストが引数として指定されると、 リクエストされた情報しか表示されません。
resetポートや ホスト、 プロトコル、 マッチングメカニズムを、デフォルトにてリセットします (任意のプロトコル、 ポート、 またはホスト)。
関連ファイル
/vmunixネームリストを得るために使用
/dev/kmemメインメモリ内の情報を得るために使用
/dev/drumスワップアウトされたプロセスについての情報を得るために使用
/etc/hostsホスト名が入っている
/etc/networksネットワーク名を入っている
/etc/servicesポート名が入っている
著者
ハッカー (氏名不詳)。 pigs ディスプレイは、Bill Reeves によって書かれた 同じ名称のプログラムから得られたものです。
バグ
CPU の 2〜10 パーセントを消費します。 ディスプレイは 24×80 文字端末が想定されています。 スワップスペースディスプレイは、 ユーザストラクチャおよびページテーブルに割り当てられた スペースについても説明すべきです。 vmstat ディスプレイ(表示)は、 (新しいプログラムを作るのでなく、独立したディスプレイとして組み込まれたので) 不適当なように見えます。
全体的には非常に陳腐でむりやり組み込んだ感があります。
NEWS-OSRelease 3.3