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コマンドを実行した場合、以下の項目が表示されます。

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:共有ライブラリが使用するページサイズ
%CPUCPU占有率
表示が更新されてからタスクがCPUを占有していた割合
%MEMメモリ占有率
表示が更新されてからタスクが物理メモリを占有していた割合
TIME+CPU利用時間
プロセス開始から経過時間(単位:秒)を表示します。
COMMAND実行コマンド名を表示

オプション

-d 秒数表示更新の間隔を秒単位で指定する(デフォルト3秒)
-u ユーザー名指定したユーザーのみのプロセスを監視
-b対話モードではなくバッチモード実行する
-p プロセスID指定したプロセスIDのみを表示する
-iアイドルプロセストグルを反転して起動する。オフにするとCPUを使っていないアイドルタスクは表示されない。
-n 回数指定した回数分更新して終了する
-Hスレッドモードで表示する

対話オプション

Space / Enter更新する
qtopを終了する
h,?ヘルプを表示する
k指定したプロセスIDにシグナルを送信する。シグナルを指定しない場合は15(SIGTERM)が送信される
rプロセスIDとNICE値を指定してプロセスの優先度を変更する
n表示するプロセス数を指定する
ltopから始まる行(現在時刻/稼働時間/ログインユーザ数/ロードアベレージ)の表示/非表示を切り替える
ttask、cpuから始まる行の表示/非表示を切り替える
m総メモリ利用量の表示/非表示を切り替える
1CPUの総利用量/各CPU利用量で表示を切り替える
cコマンド名にオプションなどを含めて表示する
s更新間隔を秒単位で入力指定する
PCPU利用率順に並べる
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実行結果

バッチモード実行する

topコマンドをバッチモードで実行し10分ごとに出力しています。

$ top -b -d 600 >> ログファイル

実行結果

[suna@localhost ~]$ top -b -d 600 >> top.log