Linuxコマンド辞典 topコマンド(システム管理)
プロセス状況をリアルタイムで表示する「top」コマンドの概要と使い方を記載しています。
RHEL Fedora CentOS Vine Deblan Ubuntu Plamo
参考サイト:Man page of INSTALL
概要・使用方法
書式
$ top [オプション]
システムで稼働してるプロセスやスレッドの状態をリアルタイムで表示します。稼働中のプロセスについて、CPU使用率やメモリ利用量、実行時間を表示します。負荷の高い順に表示されます。終了するときは「q」もしくは、Ctrl+Cを押します。topの起動中は対話的になコマンドも実行できます。シグナルを送って終了、表示方法を変えるなどできます。
1行目は現在時刻、起動後の経過時間、ログイン中のユーザー数、平均負荷(直近1分、5分、15分)が表示されています。2行目は実行プロセス数、実行状態、スリープ状態、停止状態、ゾンビ状態のプロセス数が表示されます。3行目はCPUの状態が表示されます。4~5行目はメモリとスワップの状況が表示されています。
オプションを何もしてせず、topコマンドを実行した場合、以下の項目が表示されます。
対応番号 | 解説 |
---|---|
① | コマンド実行時刻を表示 |
② | 稼働時間を表示 |
③ | ログインユーザー数を表示 |
④ | 実行待ちジョブの平均数(直前1分間/直前5分間/直前15分間)を表示 |
⑤ | プロセス総数を表示 |
⑥ | 稼働プロセス数を表示 |
⑦ | 待機プロセス数を表示 |
⑧ | 停止プロセス数を表示 |
⑨ | ゾンビプロセス数を表示 |
⑩ | ユーザに費やされたCPU時間の比率を表示 |
⑪ | システムに費やされたCPU時間の比率を表示 |
⑫ | 優先プロセスに費やされたCPU時間の比率を表示 |
⑬ | 待機となっているCPU時間の比率を表示 |
⑭ | I/O終了待ちの比率を表示 |
⑮ | ハードウェア割込み要求処理に費やされたCPU時間 |
⑯ | ソフトウェア割込み要求処理に費やされたCPU時間 |
⑰ | タイムスタンプを使用したカーネル内のsoftirqタイム処理に費やされたCPU時間の比率を表示 |
⑱ | 全メモリ容量(単位:キロバイト)を表示 |
⑲ | 空きのメモリ容量(単位:キロバイト)を表示 |
⑳ | 使用中メモリ容量(単位:キロバイト)を表示 |
㉑ | バッファ・キャッシュメモリ容量(単位:キロバイト)を表示 |
㉒ | 全スワップメモリ容量(単位:キロバイト)を表示 |
㉓ | 空きスワップメモリ容量(単位:キロバイト)を表示 |
㉔ | 使用中スワップメモリ容量(単位:キロバイト)を表示 |
㉕ | 物理メモリの空容量(単位:キロバイト)を表示 |
表示項目
項目 | 説明 |
---|---|
PID | プロセスID |
USER | 実行ユーザ名 |
PR | プロセスの実行優先順位 |
NI | プロセスの実行優先度(nice値) |
VIRT(SIZE) | 利用仮想メモリ(KB) タスクコード、データ、スタックスぺ-スのサイズを表示します。 |
RES | 利用実メモリ(KB) (RES)プロセスの物理メモリ使用量の総量(単位:キロバイト)を表示します。 (TT)端末名が表示されます。 |
SHR(SHARE) | 共有メモリ(KB) プロセスの共有メモリ使用量(単位:キロバイト)を表示します。 |
S(TAT) | プロセスのステータスを表示します。 S:停止状態(スリープ中) D:継続停止状態(割り込み不可能なスリーブ状態) R:稼働状態(実行中) Z:ゾンビ状態(ゾンビプロセス) T:停止またはトレース状態 <:ナイス値が-で実行中(負のナイス値を持つプロセス) N:ナイス値が+で実行中(正のナイス値をもつプロセス) W:スワップアウト状態(カーネルプロセスに対しては正しく動作しない) LiB:共有ライブラリが使用するページサイズ |
%CPU | CPU占有率 表示が更新されてからタスクがCPUを占有していた割合 |
%MEM | メモリ占有率 表示が更新されてからタスクが物理メモリを占有していた割合 |
TIME+ | CPU利用時間 プロセス開始から経過時間(単位:秒)を表示します。 |
COMMAND | 実行コマンド名を表示 |
オプション
-d 秒数 | 表示更新の間隔を秒単位で指定する(デフォルト3秒) |
-u ユーザー名 | 指定したユーザーのみのプロセスを監視 |
-b | 対話モードではなくバッチモード実行する |
-p プロセスID | 指定したプロセスIDのみを表示する |
-i | アイドルプロセストグルを反転して起動する。オフにするとCPUを使っていないアイドルタスクは表示されない。 |
-n 回数 | 指定した回数分更新して終了する |
-H | スレッドモードで表示する |
対話オプション
Space / Enter | 更新する |
q | topを終了する |
h,? | ヘルプを表示する |
k | 指定したプロセスIDにシグナルを送信する。シグナルを指定しない場合は15(SIGTERM)が送信される |
r | プロセスIDとNICE値を指定してプロセスの優先度を変更する |
n | 表示するプロセス数を指定する |
l | topから始まる行(現在時刻/稼働時間/ログインユーザ数/ロードアベレージ)の表示/非表示を切り替える |
t | task、cpuから始まる行の表示/非表示を切り替える |
m | 総メモリ利用量の表示/非表示を切り替える |
1 | CPUの総利用量/各CPU利用量で表示を切り替える |
c | コマンド名にオプションなどを含めて表示する |
s | 更新間隔を秒単位で入力指定する |
P | CPU利用率順に並べる |
M | メモリ利用順に並び替える |
H | スレッドモードで表示する |
u | 指定した実行ユーザのみのタスクを表示する |
f | 表示項目選択画面を表示する。表示する項目まで矢印キーで移動、「Space」か「d」で選択して表示/非表示を選択する |
A | 表示モードを切り替える |
< | 1つ左のカラムをソート順にする |
> | 1つ右のカラムをソート順にする |
x | 表示順序基準になっているカラムを強調(太字)表示する。「<」「>」でソート順を変えた場合に基準カラムとしてわかりやすく表示できる。これに併せて「b」を利用すると太字ではなく反転した強調表示になる。 |
z | カラー表示を切り替える |
top実行
$ top
topコマンドで対話的な画面が表示されます。
NICEを変える場合は、rキーを押すことで「PID to renice」と表示されるので対象のプロセスIDを入力します。次に「Renice PID <プロセスID> to value」でNICE値を入力します。
プロセスにシグナルを送る場合は、kキーを入力します。「PID to signal/kill」でプロセスIDを指定します。「Send pid <プロセスID>signal[15/sigterm]」と表示されるところでシグナル値を入力します。シグナル値を指定しない場合は、15(SIGTERM)がプロセスに送られます。
実行結果
バッチモード実行する
topコマンドをバッチモードで実行し10分ごとに出力しています。
$ top -b -d 600 >> ログファイル
実行結果
[suna@localhost ~]$ top -b -d 600 >> top.log