top − CPU プロセスの上位リストに関する情報を表示/更新する |
top [ −SbiInqutv ] [ −dcount ] [ −stime ] [ −ofield ] [ −Uusername ] [ −mio|cpu ] [ number ] |
top はシステム内の上位プロセスを表示し、その情報を定期的に更新しま す。 標 準出力がインテリジェント端末 (以下を参照) なら、デフォルトでは端末画 面に合わせて表示プロセス数を決定します。それ以外の場合、適切な数のプ ロ セス (約 20 プロセス) が表示されます。生の CPU パーセンテージを用いてプ ロセス順位を決めます。もし number が指定されると、デフォルト値 に 代 え て、上位 number プロセスが表示されます。 top の 動作は高機能端末とそうでない端末とで異なります。この差異によっ て、いくつかのオプションのデフォルト値も変わってきます。以下の 部 分 で は、"インテリジェント" 端末とは、カーソルアドレシング、画面クリアおよび 行末までのクリアをサポートしている端末のことを指します。逆に "ダム" 端 末とは、そのような機能をサポートしていないものをいいます。 top の出力を ファイルにリダイレクトすると、あたかもダム端末上で動作しているように 振 る舞います。 |
−S |
システムプロセスも画面に表示します。 pager や swapper と いったシステムプロセスは通常、表示されませんが、このオプショ ン によりそれらも見えるようになります。 |
||
−b |
"バッチ" モードにします。バッチモードでは、端末からの入力は 全て無視されます。ただし割り込みキャラクタ (^C や ^\ など) は有 効 です。ダム端末上で実行する場合や出力先が端末以外の場合は、こ れがデフォルトです。 |
||
−i |
"対話的実行" モードにします。対話的実行モードでは、あらゆる 入 力 は 直ちに読み込んで処理されます。どのキーがどういう機能を もっているかについては、 "対話的実行モード" のセクションを参 照 し て 下 さい。コマンドが処理されると、そのコマンドが理解されな かった場合でも、画面は直ちに更新されます。出力先がインテリ ジェ ント端末の場合は、これがデフォルトです。 |
||
−I |
アイドル状態のプロセスを表示しません。デフォルトでは、 top はアクティブプロセスもアイドルプロセスも両方とも表示します。 |
||
−t |
top プロセスを表示しないようにします。 |
−mdisplay |
デフォルトは ’cpu’ です。 |
−n |
"非対話的実行" モードにします。これは "バッチ" モードと同じ です。 |
||
−q |
top を -20 に renice し、より高速に実行されるようにします。 この機能は、システムが大変重い場合に、問題箇所を発見する可能 性 を 高めるために用いられます。このオプションは root のみ使用可能 です。 |
||
−u |
uid 値をユーザ名に変換する時間を割かないようにし ま す。 通 常、 top は必要に応じてファイル "/etc/passwd" を読み、出現する 全てのユーザ id 値をログイン名に変換します。このオプションは そ の 変換を全て止め、できるだけ実行時間を低減させます。ログイン名 の代わりに uid 値が表示されます。 |
||
−v |
バージョン番号情報を標準エラー出力へ書き出し、即座に終了 し ま す。このオプションが使用された場合、他の処理は行われません。 top 実行中に現在のリビジョン情報を閲覧したい場合、ヘルプコマ ン ド "?" を使用してください。 |
−dcount |
count 回だけ表示し、その後終了します。 1 回の表示とは、1 回の画 面更新のことです。このオプションにより、ユーザは希望する回数 だ け状況を表示し、その後自動的に top を終了させることができます。 インテリジェント端末では、表示回数の上限は設定されていませ ん。 ダム端末ではデフォルト値は 1 回です。 |
−stime |
画面更新間隔を time 秒に設定します。デフォルトの画面更 新間隔は 2 秒です。 |
−ofield |
プロセス表示領域を指定したフィールドによって ソー ト し ま す。 フィー ルド名には出力で示されているカラム名を用いますが、小文字 で指定します。しばしば用いられる 値 は "cpu", "size", "res", "time" ですが、これは OS によっても異なります。必ずしも全ての OS でこのオプションがサポートされているわけではないことに注意し て下さい。 |
−Uusername |
ユー ザ username が所有しているプロセスのみ表示します。現在のと ころ、このオプションはユーザ名指定のみ可能で、uid 値は指定で き ません。 |
count と number はいずれも "無限" を指定でき、その場合、それらは可能な 限り引き延ばされます。これは、キーワード "infinity", "maximum", "all" の いずれかの、一意に識別可能な先頭からの部分文字列を指定することで行わ れます。実際、インテリジェント端末での count のデフォルト値は infinity となっています。 コマンドラインのオプションを調べる前に、環境変数 TOP が調べられます。こ れによりユーザ自身のデフォルト値を設定できます。表示プロセス数も環境 変 数 TOP で指定可能です。オプション −I, −S, −u, −t は実際はトグルオプショ ンです。これらのオプションを 2 回指定すると、最初の指定を無効にします。 ですから、環境変数 TOP を "−I" と設定しているユーザは、 "top −I" とする ことでアイドルプロセスの状況を見ることができます。 |
"対話的実行モード" で動作している場合、 top は端末からコマンドを読み 込 み、 それに応じて動作を行います。このモードでは端末は "CBREAK" モードに 設定され、入力文字が速やかに処理されるようになります。 top の表示と表示 の間、つまり top が time 秒が経過するのを待っている間、ほとんどいつでも キー入力可能です。実際キーが押されると、そのコマンドは直ちに処理さ れ、 画面が更新されます (そのコマンドが指示した変更も反映されます)。これはコ マンドが正しくない場合にも行われます。画面を更新している最中にキーが 押 されると、 top は画面更新を終らせて、そのコマンドを処理します。コマンド によっては更に情報の指定が必要になるものもありますが、その場合、それ に 応 じ て ユーザに入力が求められます。その情報を入力する間、ユーザの削除 キーと行削除キー ( stty コマンドで設定される) が利用でき、改行により 入 力が完了します。 現 在 の ところ、以下のコマンドが利用可能です (^L は control-L を表しま す): |
^L |
画面を再描画します。 |
|
h or ? |
コマンド一覧 (ヘルプ画面) を表示します。バージョン情 報 がこの画面に含まれます。 |
|
q |
top を終了します。 |
|
d |
表示する画面数を変更します (新しい数値入力が求められます)。 次回の表示が 1 回目となります。ですから d1 と入力する と、 top は 1 回表示して直ちに終了します。 |
|
m |
||
n or # |
表示するプロセス数を変更します (新しい数値入力が求めら れます)。 |
|
s |
表示間隔の秒数を変更します (新しい数値入力が求められます)。 |
|
S |
システムプロセスの表示をトグルします。 |
|
k |
プロセスリストにシグナル (デフォルトでは "kill") を 送 り ま す。 kill(1) コマンドと同様の働きをします。 |
|
r |
プロセスリストの優先度 ("nice" 値) を変更します。 renice(8) コマンドと同様の働きをします。 |
|
u |
指定したユーザ名のユーザが所有するプロセスのみ表示しま す ( ユー ザ名入力が求められます)。ユーザ名として単に "+" が指定され た場合、全ユーザのプロセスが表示されます。 |
|
o |
表示のソート順序を変更します。必ずしも全ての OS でこの オ プ ショ ンがサポートされているわけではありません。ソートキーはシス テムによって異なりますが、通常は次のものが含まれ ま す: "cpu", "res", "size", "time"。デフォルトは cpu です。 |
|
e |
前回の kill または renice コマンドで生じたシステムエラーがあ れば、そのリストを表示します。 |
|
i |
(または I) アイドルプロセスの表示有無を切り替えます。 |
|
t |
top の表示有無を切り替えます。 |
実際の表示画面は、そのマシンで動作している Unix の種類によって異なり ま す。ここでの説明は、この特定マシンで動作する top コマンドの出力と厳密に は合っていないかもしれません。相違点はこのマニュアルの終りに示してあ り ます。 表 示画面の先頭数行にはシステム状態に関する情報として、プロセスに割り当 てられた最終プロセス ID (ほとんどのシステム)、 3 種のロードアベレージ、 現 在時刻、存在するプロセス数、各状態 (sleep 中、実行中、実行開始中、ゾ ンビ、停止中) のプロセス数、各プロセッサ状態 (ユーザ, nice, シス テ ム, ア イドル) で消費した時間の割合等が表示されます。物理メモリおよび仮想メ モリの割り当てに関する情報も表示されます。 画面の残りの部分には各プロセスに関する情報が表示されます。表示項目 は、 内 容的には ps(1) に似ていますが、正確には同じではありません。 PID はプ ロセス id、USERNAME はプロセス所有者名 ( −u 指定時は UID カ ラ ム が USERNAME に取って替わる)、 PRI は現在のプロセス優先度、 NICE は nice 値 (−20 から 20 までの範囲)、 SIZE はプロセスサイズの 合 計 (text, data, stack)、 RES は現在のメモリ常駐量 (SIZE と RES はいずれもキロバイト単 位)、 STATE は現在の状態 ("sleep", "WAIT", "run", "idl", "zomb", "stop" のいずれか)、 TIME はプロセスが消費したシステム時間およびユーザ時間の秒 数、 WCPU は (もしあれば) 重み付き CPU パーセンテージ (これは ps(1) が CPU として表示するものと同じ)、 CPU は生のパーセンテージで、プロセス順 序を決めるソート処理に用いられるもの、そして COMMAND はプロセスが現在実 行 しているコマンド名です (もしプロセスがスワップアウト中なら、このカラ ムには "<swapped>" という印がつく)。 |
"ABANDONED" 状態 (カーネル中では "SWAIT" 状態として知られています) は捨 て 去られたものゆえ、この名称がついています。プロセスはこの状態で終るべ きではありません。 |
William LeFebvre, EECS Department, Northwestern University |
TOP |
ユーザが設定できるオプションのデフォルト値 |
/dev/kmem |
カーネルメモリ |
|||||
/dev/mem |
物理メモリ |
|||||
/etc/passwd |
uid 値をユーザ名に変換するのに使用 |
|||||
/boot/kernel/kernel |
システムイメージ |
−I のデフォルト値が もう一度変更されましたが、私を責めないで 下 さ い。 top が 全プロセスを表示するわけではないことで大変多くの人が混乱したた め、バージョン 2 の頃と同様、デフォルトでアイドルプロセスも表示すること に決めました。しかしこの動作に耐えられない人々のために、環境変数 TOP に "デフォルト" オプションを設定しておく機能を追加しました (オプションのセ ク ションを参照)。バージョン 3.0 が持っている振る舞いが必要な人は、環境 変数 TOP に値 "−I" を設定するだけで OK です。 スワップされたプロセスに対するコマンド名は追跡すべきですが、それを行 う とプログラムの動作が遅くなるでしょう。 ps(1) と同様、 top が更新情報を収集している間に事態が変化する可能性があ ります。表示内容は現実に近い近似値に過ぎません。 |
’-H’ オプションは、カーネルから見えるスレッドコンテキストの表示を切り替 え ま す。 実行時には、’H’ キーがこのモードを切り替えます。デフォルトは OFF です。 |
Mem: 9220K Active, 1032K Inact, 3284K Wired, 1MB Cache, 2M Buf, 1320K Free Swap: 91M Total, 79M Free, 13% Inuse, 80K In, 104 K Out K: キロバイト。 |
M: |
メガバイト。 |
|||
%: |
1/100。 |
Active: |
アクティブなページ数。 |
Inact: |
アクティブでないページ数。 |
|
Wired: |
固定されているページ数。キャッシュされたファイルデータ ページを含む。 |
|
Cache: |
VM レベルのディスクキャッシュに使用しているページ数。 |
|
Buf: |
BIO レベルのディスクキャッシュに使用しているページ数。 |
|
Free: |
未使用ページ数。 |
|
Total: |
使用可能なスワップ合計。 |
|
Free: |
未使用スワップ合計。 |
|
Inuse: |
使用中スワップ。 |
|
In: |
(直前の表示間隔において) スワップデバイスからページイン し たページ数 |
|
Out: |
(直前の表示間隔において) スワップデバイスにページアウトし たページ数 |