EN JA
SYSTAT(1)
SYSTAT(1) FreeBSD General Commands Manual SYSTAT(1)

名称

systatシステムの統計値を表示する

書式

systat [ -display][ refresh-interval]

解説

systat ユーティリティは、curses 画面表示ライブラリ、 ncurses(3) を使用して画面指向の方法で、様々なシステム統計値を表示します。

systat が実行されている間、画面は、通常 2 つのウィンドウに分割されます (例外は、全体の画面を使用する vmstat 表示項目 (display) です)。上側のウィンドウは、現在のシステムのロードアベレージ (負荷平均) を描画します。下側のウィンドウに表示される情報は、ユーザのコマンドによって異なります。画面の最後の行は、ユーザ入力とエラーメッセージのために予約されています。

デフォルトで、 systat は、下側のウィンドウにプロセッサの最大のパーセンテージになっているプロセスを表示します。他の表示項目として、スワップ領域の使用量、 ( iostat(8) のような) ディスク I/O 統計値、 ( vmstat(8) のような) 仮想メモリ統計値、 TCP/IP 統計値、と ( netstat(1) のような) ネットワーク接続を表示します。

入力は、2 つの異なったレベルで解釈されます。 ``global'' コマンドインタプリタは、すべてのキーボード入力を処理します。このコマンドインタプリタがコマンドの認識に失敗するなら、入力行は、表示ごとにコマンドインタプリタに渡されます。これによって、各表示項目は、特定の表示項目特有のコマンドを持つことができます。

コマンド行のオプションは、次の通りです:

- display
- フラグは、次の 1 つの 表示項目 (display) を要求します: icmp, icmp6, ifstat, iostat, ip, ip6, netstat, pigs, swap, tcp または vmstat。また、 (“ -”なしで) 対話形式で、これらの表示項目を要求することができ、以下に詳しく説明されています。
refresh-interval
refresh-value は、秒単位で画面リフレッシュ時間間隔を指定します。時間間隔は、小数点で指定できます。

特定の文字を指定すると、 systat によって即座に実行されます。これらは、以下の通りです。

^L
画面をリフレッシュする。
^G
下側のウィンドウに表示されている現在の ``表示項目 (display)'' の名前とリフレッシュ間隔を印刷 (表示) します。
:
カーソルをコマンド行に移動し、コマンドとしてタイプされた入力行を解釈します。コマンドを入力している間、現在の文字の消去、単語の消去、と行の削除文字を使用できます。

次のコマンドは、``global'' コマンドインタプリタによって解釈されます。

help
コマンド行で利用可能な表示項目 (display) の名前を印刷 (表示) します。
load
コマンド行に、過去 1、5 と 15 分間のロードアベレージを印刷します。
stop
画面のリフレッシュを停止します。
[ start][ number]
画面のリフレッシュを (継続して) 開始します。 2 番目に数値の引数が指定されたなら、それは、(秒単位の) リフレッシュ間隔として解釈されます。数値のみを指定すると、リフレッシュ間隔をこの値に設定します。
quit
systat を終了します。 (これは、 q と簡略化できます。)

利用可能な表示項目 (display) は、次の通りです:

pigs
下側のウィンドウに、メインメモリとプロセッサの最も大きい部分を占める常駐しているプロセスを表示します (デフォルトの表示項目)。プロセッサの 100% 未満が、ユーザプロセスにシュケジュールされるとき、残りの時間は、``idle'' プロセスに算定されます。
icmp
下側のウィンドウに、インターネットコントロールメッセージプロトコル (Internet Control Message Protocol) (“ICMP”) によって受信され、送信されるメッセージの統計値を表示します。画面の左半分は、受信されたパケットの情報を表示し、右半分は、送信されたパケットの情報を表示します。

icmp は、次の 2 つのコマンドを理解します: modereset です。 mode コマンドは、引数として与えられた 4 つの表示モードの 1 つを選択するために使用されます:

rate:
(デフォルトの) 1 秒ごとのパケットの各値の変化率を表示します。
delta:
リフレッシュ間隔ごとのパケットの各値の変化率を表示します。
since:
表示単位が最後にリセットされてからの、各値の合計の変化を表示します。
absolute:
各統計値の絶対値を表示します。

reset コマンドは、 since モードのためにベースラインをリセットします。引数のない mode コマンドは、コマンド行に現在のモードを表示します。

icmp6
この表示は、 icmp 表示項目に似ていますが、IPv6 ICMP の統計値を表示します。
ip
そうでなければ、 IP と UDP 統計値を表示することを除いて、 icmp 表示項目と同じです。
ip6
IPv6 統計値を表示することを除いて、 ip 表示項目に似ています。 UDP 統計値を表示しません。
tcp
icmp に似ていますが、 TCP 統計値付きで表示します。
iostat
下側のウィンドウに、プロセッサ使用率とディスクのスループットに関する統計値を表示します。プロセッサ使用率の統計値は、ユーザモード (``user'')、低いプライオリティで実行されたユーザモード (``nice'')、システムモード (``system'')、割り込みモード (``interrupt'') とアイドル (``idle'') での実行時間の合計の棒グラフとして表示されます。ディスクのスループットの統計値は、各ドライブごとに、 1 秒ごとのメガバイト数、1 秒ごとのディスクトランザクションの平均値とトランザクションごとのデータの平均キロバイト数を表示します。この情報は、棒グラフ、または、下向きにスクロールする数値の列として表示されます。棒グラフは、デフォルトで表示されます。

次のコマンドは、 iostat 表示項目に特有です。識別できる最小の接頭辞だけでも指定できます。

numbers
ディスク I/O の統計値を数値形式で表示します。値は、下向きにスクロールする数値の列で表示されます。
bars
ディスク I/O の統計値を棒グラフで表示します (デフォルト)。
kbpt
トランザクションごとのキロバイト数の表示を切り替えます。 (デフォルトは、トランザクションごとのキロバイト数を表示しないことです)。
swap
カーネルにコンパイルされたすべてのスワップ領域についてスワップ領域の使用量に関する情報を表示します。最初の列は、パーティションのデバイス名です。次の列は、パーティションで利用可能な合計空間量です。 used の列は、これまでに使用されている合計ブロック数を示します。グラフは、各パーティションで使用中の空間量の割合を表示します。 2 つ以上の使用中のスワップパーティションがあるなら、合計の行も表示されます。カーネルに知られている領域で、使用中でない領域は、利用可能でないものとして表示されます。
vmstat
ディスプレイ全体を使って、仮想記憶の使用量、プロセススケジューリング、デバイス割り込み、システム名前変換キャッシュ、ディスク I/O 等に関連する統計値の (かなり混雑した) 概要を表示します。

画面の左上の 4 分の 1 に、ログインされたユーザの数と最近の 1、5 と 15 分の間隔でロードアベレージを表示します。この行の下は、メモリ利用量の統計値です。テーブルの最初の行は、アクティブなプロセス、すなわち、以前の 20 秒間に実行していたプロセスのみのメモリ使用量を報告します。 2 番目の行は、すべてのプロセスのメモリ使用量を報告します。最初の列は、プロセスによって要求された物理ページのキロバイト数に関して報告します。 2 番目の列は、読み込み専用のテキストページに充てられた物理ページのキロバイト数を報告します。 3 番目と 4 番目の列は、仮想ページ、すなわち、全てのプロセスが、それらページの全て所有するなら、必要となるページのキロバイト数、のために同じ 2 つの図形を報告します。最終に最後の列は、フリーリストでの物理ページのキロバイト数を表示します。

下記のメモリ表示は、実行可能 (`r')、ページ待ち中 (`p')、ページング以外のディスク待ち中 (`d')、スリープ状態 (`s')、とスワップアウトしているが実行要求中 (`w') である、 (これまでのリフレッシュ間隔にわたって) 平均したプロセス数のリストです。また、行は、平均したコンテキストスイッチの数 (`Csw')、トラップ (`Trp';ページフォルトを含む)、システムコール (`Sys')、割り込み (`Int')、ネットワークソフトウェア割り込み (`Sof')、とページフォルト (`Flt') を表示します。

プロセスキューの長さのリストの下は、システム (`=' として表示)、割り込み (`+' として表示)、ユーザ (`>' として表示)、ナイス (`-' として表示) とアイドル時間 (` ' として表示) の合計を数値のリストと棒グラフ表示したものです。

プロセス表示の下は、名前変換における統計値です。前の間隔 (インターバル) で変換された名前の数、システム全体の名前変換キャッシュによって扱われた変換の割合、とプロセスごとの名前変換キャッシュによって扱われた変換の割合をリストします。

名前変換表示の右には、バッファキャッシュの汚いバッファの数 (`dtbuf')、 vnode キャッシュ (`desvn') の必要な最大サイズ、実際に割り付けられた vnode の数 (`numvn')、と空いている割り付けられた vnode の数 (`frevn') を表示する行です。

左下は、ディスクの使用量の表示です。 1 トランザクションごとのキロバイト数、1 秒ごとのトランザクション数、 1 秒ごとのメガバイト数、とディスプレイのリフレッシュ期間 (デフォルトで 5 秒) を平均したディスクがビジーであった時間の割合を報告します。システムは、ほとんどすべての記憶デバイスの統計値を保持します。一般的に、最大 7 つのデバイスが表示されます。デフォルトで表示されたデバイスは、カーネルのデバイスリストの最初のデバイスです。 devstat システムに関する詳細については、 devstat(3)devstat(9) を参照してください。

右上側の 4 分の 1 の日付の下は、ページングとスワッピングの活動状況の統計値です。最初の 2 つの列は、ページフォルトとページングデーモンのためのリフレッシュ間隔にわたって 1 秒ごとに取り入れて取り出される平均のページ数を報告します。 3 番目と 4 番目の列は、スケジューラによって起動されたスワップ要求のためのリフレッシュ間隔にわたって 1 秒ごとに取り入れて取り出される平均のページ数を報告します。この表示の最初の行は、リフレッシュ間隔にわたって 1 秒ごとの平均のディスク転送数を表示します。表示の 2 番目の行は、リフレッシュ間隔にわたって 1 秒ごとの平均のページ転送数を表示します。

ページング統計値の下は、仮想記憶システムに関する行の列です。最初の数行は、サンプリング間隔にわたって平均された 1 秒ごとの (以下に記述されたものを除いた) ページの単位で記述しています、コピーオンライト (copy on write) されたページ (`cow')、オンデマンドで 0 クリアされたページ (`zfod')、オンデマンドで最適に 0 クリアされたページ (`ozfod')、割合として (平均の) ozfod / zfod の比率 (`%ozfod')、ページデーモンによって解放されたページ (`daefr')、終了プロセスによって解放されたページ (`prcfr')、解放された合計ページ (`totfr')、フリーリストから再活性化されたページ (`react')、ページデーモンが起こされた 1 秒ごとの平均の回数 (`pdwak')、ページデーモンによって解析されたページ (`pdpgs')、とトランジット中にブロックされたページフォルト (`intrn')。単位は、`%ozfod' and `pdwak' に特有であることに注意してください。次の数行は、ワイヤードダウン (wired down) したページ (`wire')、活性化されたページ (`act')、不活性化されたページ (`inact')、キャッシュキューに入っているページ (`cache') と解放されたページ (`free') をキロバイト単位のメモリの量として記述しています。表示された値は、現在の一時的なものであることに注意してください。それらは平均ではありません。

この列の下は、バッファキャッシュ (`buf') にマップされたキロバイト単位の仮想記憶の量を表示する行です。この統計値は、役に立ちません。それは単に対応する役に立つ統計値 (キャッシュディスクに使用される実際のメモリの量) のための代替物としてのみ存在しています。後者 (vm システムによってキャッシュディスクに使用される実際のメモリの量) の最も重要な構成要素は、利用可能ではありませんが、いくつかのシステムロードの下で `inact' の量から推測することができます。

表示の右下側で実行しているのは、システムによって扱われる割り込みの内訳です。リストの先頭は、時間間隔にわたる秒ごとの合計の割り込み数です。列の残りは、デバイスごとの合計を分類しています。ブート時から少なくとも一度割り込まれたデバイスだけ、表示されます。

次のコマンドは、 vmstat 表示項目に特有です。識別できる最小の接頭辞だけでも指定できます。

boot
システムがブートされてからの累積された統計値を表示します。
run
このコマンドが与えられた時点からの実行状況の合計として統計値を表示します。
time
リフレッシュ間隔にわたって平均化された統計値を表示します (デフォルト)。
zero
実行している統計値を 0 にリセットします。
netstat
下側のウィンドウに、ネットワーク接続状況を表示します。デフォルトで、要求を待つネットワークサーバは、表示されません。各アドレスは、可能であれば、シンボル表示で、形式 ``host.port'' で表示されます。数値で表示されたアドレスがあること、ポート、ホスト、および/または、プロトコルの一組の表示項目を制限することが可能です (識別できる最小の接頭辞だけでも指定できます):

all
要求を待っているサーバプロセスの表示項目を切り替えます (これは、 netstat(1)-a フラグと同等です)。
numbers
数値でネットワークアドレスを表示します。
names
シンボルでネットワークアドレスを表示します。
proto protocol
指示された protocol を使用して、ネットワーク接続のみを表示します。サポートされたプロトコルは、``tcp'', ``udp'' と ``all'' です。
ignore [ items]
指定されたホストまたはポートに関連している接続の情報を表示しません。名前 (``vangogh'', ``ftp'') または数値で、ホストとポートを指定することができます。ホストアドレスは、インターネットのドット記法 (``128.32.0.9'') を使用します。空白で区切られた単一のコンマで、複数の項目を指定することができます。
display [ items]
指定されたホストまたはポートに関連している接続の情報を表示します。 ignore と同様に、[ items]は、名前または数字を指定できます。
show [ ports|hosts]
現在選択されているプロトコル、ホスト、とポートをコマンドラインに表示します。無視されるホストとポートは、`!' を前に付けられます。 ports または hosts が、 show の引数として指定されるなら、要求された情報だけが表示されます。
reset
ポート、ホスト、とプロトコルのマッチングメカニズムをデフォルト (任意のプロトコル、ポート、またはホスト) にリセットします。
ifstat
システムのアクティブなインタフェースを通過するネットワークトラフィックを表示します。アイドル (idle) インタフェースは、何らかのトラフィックを受信するまで、表示されません。

表示される各インタフェースごとに、着信と発信トラフィックに対して、現在、ピークと合計の統計値を表示します。デフォルトで、 ifstat 表示項目は、人間に読み込み可能な形式となるように、使用される単位を自動的にスケーリング (尺度付け) します。 scale コマンドで現在とピークトラフィック行に使用されるスケーリング単位を、変更することができます。

scale [ units]
すべてのインタフェースにわたって現在とピークトラフィックを表示するために使用されるスケール (尺度) を変更します。次の単位が認識されます: kbit, kbyte, mbit, mbyte, gbit, gbyte と auto です。
pps
1 秒毎のバイト/ビットの代わりに毎秒毎のパケットで統計値を表示します。 pps の後の呼び出しは、このモードをオフに切り替えます。
match [ patterns]
引数として提供されるパターンと一致するインタフェースだけを表示します。パターンは、空白類またはコンマによって区切られたシェル構文でなければなりません。このコマンドが引数なしで呼び出されるなら、すべてのインタフェースが表示されます。例えば:

match em0, bge1

これは、em0 と bge1 のインタフェースを表示します。

match em*, bge*, lo0

これは、すべての em インタフェース、すべての bge インタフェースとループバックインタフェースを表示します。

表示項目を切り換えるコマンドは、識別できる最小の接頭辞のみに簡略化できます。例えば、``iostat'' に対して ``io'' です。特定の情報は、画面サイズが表示のために不十分なとき、捨てられるかもしれません。例えば、10 台のドライブがあるマシンで、 iostat の棒グラフは、24 行の端末で 3 つのドライブだけを表示します。棒グラフが、割り当てられた画面空間からあふれるかもしれないとき、それは、切り詰められ、実際の値は、棒の ``先端'' に印刷されます。

次のコマンドは、ディスクドライブの情報を表示する各表示項目に共通です。これらのコマンドは、利用者のシステムに、通常画面に表示できるものより、設定されたより多くのドライブがある場合について報告する 1 組のドライブを選択するために使用されます。

ignore [ drives]
指示されたドライブの情報を表示しません。複数のドライブは、空白で区切って指定されます。
display [ drives]
指示されたドライブの情報を表示します。複数のドライブは、空白で区切って指定されます。
only [ drives]
指定されたドライブだけを表示します。複数のドライブは、空白で区切って指定されます。
drives
利用可能なデバイスのリストを表示します。
match type, if, pass [ | ...]
与えられたパターンにマッチするデバイスを表示します。基本的なマッチング式は、1 つの違いを除いて、 iostat(8) で使用されるものと同じです。ともに OR される複数の -t 引数を指定する代わりに、ユーザは、代わりにパイプ (‘ |’) 文字によって結合された複数のマッチング式を指定します。それぞれのマッチング式でコンマで区切られた引数は、ともに AND され、パイプで区切られたマッチング式は、ともに OR されます。組み合わされた式にマッチするデバイスは、表示する余地があるなら、表示されます。例えば:

match da,scsi | cd,ide

これは、すべての SCSI ダイレクトアクセスデバイスとすべての IDE CDROM デバイスを表示します。

match da | sa | cd,pass

これは、すべてのダイレクトアクセスデバイス、すべてのシーケンシャルアクセスデバイス、と CDROM ドライブへのアクセスを提供するすべてのパススルーデバイスを表示します。

関連ファイル

/boot/kernel/kernel
ネームリスト用。
/dev/kmem
メインメモリの情報用。
/etc/hosts
ホスト名用。
/etc/networks
ネットワーク名用。
/etc/services
ポート名用。

歴史

systat プログラムは、 4.3BSD で登場しました。 icmp, iptcp 表示は、 FreeBSD 3.0 で登場しました。 ICMP, IP, TCP と UDP の統計値のための異なった表示モードがあるという概念は、 Silicon Graphics の IRIX システムの netstat(1)-C オプションから流用しました。

バグ

特定の表示は、1 行ごとに最低 80 文字を推定しています。 vmstat の表示は、 (新しいプログラムとして作成されるのではなく、別々の表示として追加される) ので、場違いに見えます。
July 15, 2013 FreeBSD