重要なポイント
- Linux の top コマンドは、システムのパフォーマンスと実行中のプロセスに関する重要な情報を提供する貴重なユーティリティです。
- 最初は複雑ですが、top はユーザーに関連する情報のみを表示するようにカスタマイズできます。
- Top は、表示される情報の読みやすさを高めるために、さまざまなキーボード ショートカットや色、強調表示、グラフなどのオプション機能をサポートしています。
Linux の
top
コマンドは
、Unix 系
オペレーティング システムの強力なコマンドの 1 つです。その実用的な表示には、システムの実行中のプロセスとリソースの使用状況に関する役立つ情報が満載されています。しかし、色、強調表示、さらには基本的なグラフもサポートしていることをご存知ですか?
情報満載のダッシュボード
top
コマンドは
1984 年から存在しており
、多くの亜種が存在します。この記事では、すべてのパッチが適用された Ubuntu 18.04 と、
top
のバージョン 3.3.12 を実行しています。 Ubuntu 23.04 の時点では、ほとんど変更されていません。また、他の 2 台のテスト コンピューター (1 台は Fedora を実行し、もう 1 台は Manjaro を実行) 上のすべてを相互参照しました。
デフォルト
top
表示には、ターミナル ウィンドウにできる限り多くの情報が詰め込まれています。情報は行政の前提条件なので、これは良いことです。優れたシステム管理者の特性の 1 つは、新たな問題を特定し、サービスに影響を及ぼす前に対処する能力です。
top
それを行うのに役立つさまざまなシステム メトリクスのダッシュボードが表示されます。
ディスプレイは直観的というよりも機能的であると表現するのが最も適切であり、略語がたくさん使われています。初めて
top
遭遇すると、窮屈で不可解で不快に感じます。ただし、数回キーを押すだけで、重要なものに応じて表示の内容と形式を調整できます。
トップのバージョンを確認してください
使用している top のバージョンを確認するには、ターミナル ウィンドウに次のように入力します。
トップ -v
お使いのバージョンが 3.3.12 よりも古い場合は、これから説明するすべての機能がサポートされていない可能性があります。
デフォルトの表示
次のように入力して「Enter」を押すと、
top
開始できます。
上
デフォルトの表示には、概要領域 (またはダッシュボード) とタスク領域 (またはプロセス リスト) の 2 つの情報領域が含まれています。デフォルトでは、
top
3 秒ごとに表示を更新します。その際、わずかなちらつきに気づくでしょう。
ダッシュボードの最初の行の数字には、時間、コンピューターの稼働時間、ログインしている人数、過去 1 分間、5 分間、15 分間の 負荷平均 が含まれています。 2 行目は、タスクの数とその状態 (実行中、停止、スリープ、または ゾンビ) を示します。
3 行目には、次の 中央処理装置 (CPU) の値が表示されます。
- us: CPU が「ユーザー空間」内の人々のプロセスの実行に費やした時間。
- sy: システムの「カーネル空間」プロセスの実行に費やした時間。
- ni: 手動で設定された nice 値でのプロセスの実行に費やされた時間。
- id: CPU アイドル時間の量。
- wa: CPU が I/O の完了を待機するのに費やした時間。
- hi: ハードウェア割り込みの処理に費やした時間。
- si: ソフトウェア割り込みの処理に費やした時間。
- st: 仮想マシンの実行によって失われた時間 (「スチールタイム」)。
4 行目は、物理メモリの合計量 ( キビバイト単位 ) と、空き容量、使用量、バッファリングまたはキャッシュの量を示します。
5 行目は、スワップ メモリの合計量 (キビバイト単位)、および空き容量、使用量、使用可能容量を示します。後者には、キャッシュから回復できると予想されるメモリが含まれます。
プロセス リストの列見出しは次のとおりです。
- PID: プロセス ID。
- USER: プロセスの所有者。
- PR: プロセスの優先度。
- NI: プロセスの素晴らしい価値です。
- VIRT: プロセスによって使用される仮想メモリの量。
- RES: プロセスによって使用される常駐メモリの量。
- SHR: プロセスによって使用される共有メモリの量。
- S: プロセスのステータス。 (このフィールドが取り得る値については、以下のリストを参照してください)。
- %CPU: 前回の更新以降にプロセスによって使用された CPU 時間の割合。
- %MEM: 使用される物理メモリのシェア。
- TIME+: タスクによって使用された合計 CPU 時間 (100 分の 1 秒単位)。
- COMMAND: コマンド名またはコマンドライン (名前 + オプション)。
メモリ値はキビバイト単位で表示されます。
COMMAND
列は画面外の右側にあります。上の画像には収まりませんでしたが、すぐに確認します。
プロセスのステータスは次のいずれかになります。
- D: 中断のないスリープ
- R: ランニング
- S: 寝ています
- T: トレース済み(停止)
- Z: ゾンビ
Q を押して
top
を終了します。
表示をスクロールする
上矢印または下矢印、Home、End、および Page Up または Down キーを押して上下に移動し、すべてのプロセスにアクセスできます。
左矢印または右矢印を押して、プロセス リストを横に移動します。これは、ターミナル ウィンドウの範囲内に収まらない列を確認するのに役立ちます。
下の画像では、右矢印を数回押して
COMMAND
列を表示しています。
数値単位の変更
表示単位を適切な値に変更しましょう。大文字の E を押すと、キビバイト、メビバイト、ギビバイト、テビバイト、ペビバイト、エクスビバイトのオプションでメモリ値の表示に使用される単位が切り替わります。使用中の単位は、4 行目と 5 行目の最初の項目です。
小文字の「e」を押すと、プロセス リストの値 (キビバイト、メビバイト、ギビバイト、テビバイト、ペビバイト) に対して同じ操作が行われます。
E を押してダッシュボードのメモリ単位をギビバイトに設定し、「e」を押してプロセス リストのメモリ単位をメビバイトに設定しました。
サマリー内容の変更
ダッシュボードの線の表示設定を変更したり、完全に削除したりできます。
l を押して、負荷概要行 (最初の行) のオンとオフを切り替えます。以下の画像の負荷概要行を削除しました。
マルチコア CPU を使用している場合は、1 を押して表示を変更し、各 CPU の個別の統計を確認します。私たちのコンピュータには 4 つの CPU があります。 1 を押して、それぞれがどれだけ頑張っているかを確認します。
もちろん、これにより、端末ウィンドウ内でより多くの画面領域が占有されます。
「t」を押すと、CPU 表示を各 CPU の使用率を示す単純な ASCII グラフに切り替えることができます。
各 CPU について、
top
3 つの数値とグラフが表示されます。左から右に、番号は次のとおりです。
-
usとniパーセンテージを組み合わせたもの (ユーザー スペース + 非標準の Nice 設定のタスク)。 -
syパーセンテージ (カーネル空間)。 - 合計 (整数値に四捨五入)。
もう一度「t」を押すとグラフ表示が実線のブロック体に変わります。
もう一度「t」を押すと、CPU 表示とタスク概要行が完全に削除されます。
「m」を押してメモリを循環させ、さまざまな表示オプションでメモリ行を交換します。最初に押すと、統計が ASCII グラフに置き換えられます。
もう一度押すと、グラフがブロック文字に変わります。
CPU 行を完全に削除するには、もう一度「m」を押します。
必要に応じて、CPU とメモリのグラフを同時に表示できます。希望の組み合わせが得られるまで「t」と「m」を押してください。
色とハイライト
「z」を押すと、表示に色を追加できます。
top
について考えるとき、おそらくカラー ディスプレイや ASCII グラフを思い浮かべることはないでしょうが、それらは組み込まれています。
「y」を押して、プロセスリスト内の実行中のタスクを強調表示します。 「x」を押すと、プロセス リストの並べ替えに使用される列が強調表示されます。 「b」を押すと、テキストの太字と反転のハイライトを切り替えることができます。
列による並べ替え
デフォルトでは、プロセス リストは
%CPU
列によって並べ替えられます。次のキーを押すと、並べ替え列を変更できます。
-
P:
%CPU列。 -
M:
%MEM列。 -
N:
PID列。 -
T:
TIME+列。
以下の画像では、プロセス リストが
PID
列によって並べ替えられています。
完全なコマンドラインを参照
「c」を押すと、COMMAND 列の表示がプロセス名と完全なコマンド ラインの間で切り替わります。
他のプロセスによって起動または生成されたプロセスの「ツリー」を表示するには、V キーを押します。
「単一ユーザーのプロセス」を参照してください。
「u」を押すと、単一ユーザーのプロセスが表示されます。名前または UID の入力を求められます。
監視する人の UID の名前を入力します。 「dave」と入力して「Enter」を押します。これで、タスク領域内のプロセスのみがユーザー
dave
に属します。
アクティブなタスクのみを表示
I を押すと、アクティブなタスクのみが表示されます。
前回の更新以降に CPU を消費していないタスクは表示されません。
表示するプロセスの数を設定する
タスクがアクティブかどうかに関係なく、表示を特定の行数に制限するには、「n」を押します。表示するプロセスの数を指定するように求められます。
10 と入力して Enter キーを押したので、タスク領域に 10 個のプロセスが表示されます。
プロセスを再確認する
「r」を押すと、プロセスの nice 値 (優先度) を変更 できます。プロセス ID の入力を求められます。 Enter キーを押すだけで、プロセス ウィンドウの上部にあるタスクのプロセス ID を使用できます。 「7800」と入力します。これは、Firefox のインスタンスのプロセス ID です。
Enter キーを押すと、プロセスに適用する新しい Nice 値を入力するよう求められます。 15 と入力し、Enter キーを押します。
新しい nice 値はプロセスにすぐに適用されます。
top でプロセスを強制終了する
プロセスを強制終了する には、「k」を押します。次に、強制終了するプロセス ID の入力を求められます。実際、プロセスに任意のシグナルを送信できます。応答を停止したプロセス 7879 を強制終了します。
送信したい信号を入力する機会が提供されます。名前または番号で指定できます。単純に Enter キーを押すと、
top
SIGTERM
(kill) シグナルを送信します。
Enter キーを押すとすぐに、シグナルがプロセスに送信されます。
表示のカスタマイズ
表示される色や列をカスタマイズすることもできます。プロンプトに使用される色を変更します。デフォルトは赤です。
大文字の Z を押して、色の設定ページに移動します。画面の上部には、さまざまな表示要素で使用されている色が表示されます。どの表示要素を変更するかを指定するには、次のいずれかを押します (大文字と小文字は区別されます)。
- S : サマリーデータ領域。
- M : メッセージとプロンプト。
- H : 列見出し。
- T : プロセスリストのタスク情報。
M を押してプロンプトを変更します。
色を選択するには、次のいずれかの番号を押します。
- 0: 黒。
- 1: 赤。
- 2: 緑色。
- 3: 黄色。
- 4: 青。
- 5: マゼンタ。
- 6: シアン。
- 7: 白。
シアンを使用するには 6 を押します。
Enter を押して設定を保存します。入力を求めるプロンプトが選択した色で表示されます。
フィールド管理画面に表示される列を変更することもできます。 F を押してフィールド管理画面に入ります。
表示されるフィールドの横にはアスタリスク (
*
) があり、太字で強調表示されます。上矢印と下矢印を押して、フィールドのリスト内で強調表示を移動します。
ハイライトを列の一番下から移動すると、(最後の列の一番下にいない限り) 次の列の一番上に表示されます。列の一番上から移動すると、(最初の列の一番上にいない限り) 前の列の一番下に表示されます。
ハイライトを
COMMAND
エントリに移動し、「d」を押してアスタリスク (
*
) を削除します。次に、
UID
エントリに移動し、「d」を押してそのエントリの横にアスタリスクを配置します。これは、
COMMAND
列は表示されませんが、
UID
列は表示されることを意味します。
UID
列が強調表示されている間に「s」を押して、
UID
列のプロセス リストを並べ替えます。
Enter を押して設定を保存し、「q」を押してフィールド管理画面を終了します。
UID
列が
COMMAND
列に置き換えられ、プロセス リストは UID 列によってソートされます。
代替表示モード
これは全画面モードで最適に機能します。 A を押してプロセス リストに 4 つのエリアを表示し、「a」を押してエリア間を移動します。
各エリアには異なる列のコレクションがありますが、それぞれはフィールド管理画面を通じてカスタマイズすることもできます。これにより、各領域に異なる情報を表示する全画面のカスタマイズされた表示や、異なる列で各領域を並べ替える機能が得られます。
その他のキーストローク
以下に、
top
で役立つと思われるその他のキーをいくつか示します。
-
W
: 設定とカスタマイズを保存して、次回
top起動したときにも有効になるようにします。 - d : 新しいディスプレイのリフレッシュ レートを設定します。
-
スペース
:
topの表示を今すぐ強制的に更新します。
トップの代替手段はありますか?
これまで見てきたように、
top
かなりのレパートリーがあります。ただし、何か違うものが必要な場合は、代替手段があります。ユーティリティ
htop
、軽量であるため、おそらく最も一般的で人気のあるトップの代替品です。これは、top を使用したことのある人にはすぐに馴染みますが、読みやすいようにすぐに色が適用されています。下部に沿ってコントロールもわかりやすく説明されています。
top
の主な利点は、その遍在性です。つまり、
top
はどこにでもインストールされます。ネットワークやサーバーを調べるために企業に行くと、ライブサーバーではまったく何も変更できないと言われることがよくあります。ルールはクライアントが作成するため、すでにインストールされているものを使用する必要があります。
別の監視ツールを好む場合でも、
top
理解する必要があります。遅かれ早かれ、それしかアクセスできない状況に陥る可能性があります。





