Linuxトップコマンドの使用方法(およびその出力を理解する方法)
公開: 2022-01-29 Linuxのtop
コマンドは、Unixライクなオペレーティングシステムの強力な機能の1つです。 その実用的なディスプレイには、システムの実行中のプロセスとリソースの使用状況に関する有用な情報が満載されています。 しかし、それがカラー、ハイライト、さらにはエレメンタリーグラフもサポートしていることをご存知ですか?
情報満載のダッシュボード
top
コマンドは1984年以来存在しており、その多くのバリエーションがあります。 この記事では、すべてのパッチが適用されたUbuntu 18.04と、 top
のバージョン3.3.12を実行しています。 また、他の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。
- ユーザー:プロセスの所有者。
- PR:プロセスの優先順位。
- NI:プロセスの素晴らしい価値。
- VIRT:プロセスによって使用される仮想メモリの量。
- RES:プロセスによって使用される常駐メモリの量。
- SHR:プロセスで使用される共有メモリの量。
- S:プロセスのステータス。 (このフィールドが取ることができる値については、以下のリストを参照してください)。
- %CPU:最後の更新以降にプロセスによって使用されたCPU時間の割合。
- %MEM:使用された物理メモリのシェア。
- TIME +: 100分の1秒単位でタスクが使用した合計CPU時間。
- コマンド:コマンド名またはコマンドライン(名前+オプション)。
メモリ値はキビバイトで表示されます。 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
のパーセンテージの合計(ユーザースペース+非標準の適切な設定のタスク)。 -
sy
パーセンテージ(カーネルスペース)。 - 合計(整数値に丸められます)。
もう一度「t」を押すと、グラフの表示が実線のブロック文字に変わります。
もう一度「t」を押すと、CPUディスプレイとタスクサマリー行が完全に削除されます。
「m」を押して、メモリを循環させ、さまざまな表示オプションでメモリラインを交換します。 最初に押すと、統計がASCIIグラフに置き換えられます。
もう1回押すと、グラフがブロック文字に変わります。
もう一度「m」を押すと、CPUラインが完全に削除されます。
必要に応じて、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」を押すと、プロセスの適切な値(優先度)を変更できます。 プロセスIDの入力を求められます。 Enterキーを押すだけで、プロセスウィンドウの上部にあるタスクのプロセスIDを使用できます。 FirefoxのインスタンスのプロセスIDである7800と入力します。
Enterキーを押すと、プロセスに適用する新しいnice値の入力を求められます。 15と入力し、Enterキーを押します。
新しいnice値は、プロセスにすぐに適用されます。
関連: Linuxでniceとreniceを使用してプロセスの優先順位を設定する方法
プロセスを強制終了する
「k」を押してプロセスを強制終了します。 次に、強制終了するプロセスIDの入力を求められます。 実際、プロセスに任意のシグナルを送信できます。 応答を停止したプロセス7879を強制終了します。
送信したい信号を入力する機会が提供されます。 名前または番号で指定できます。 Enterキーを押すだけで、 top
はSIGTERM
(kill)シグナルを送信します。
Enterキーを押すとすぐに、シグナルがプロセスに送信されます。
関連: Linuxターミナルからプロセスを強制終了する方法
表示のカスタマイズ
表示される色と列をカスタマイズすることもできます。 プロンプトに使用される色を変更します。デフォルトは赤です。
大文字の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
列に置き換わり、プロセスリストはそれによってソートされます。
代替表示モード
これは、フルスクリーンモードで最適に機能します。 Aを押してプロセスリストに4つの領域を表示し、次に「a」を押して領域間を移動します。
各領域には異なる列のコレクションがありますが、それぞれは[フィールド管理]画面からカスタマイズすることもできます。 これにより、各領域のさまざまな情報を表示するフルスクリーンのカスタマイズされた表示が可能になり、各領域を異なる列で並べ替えることができます。
その他のキーストローク
以下は、 top
で役立つと思われるその他のキーです。
- W :設定とカスタマイズを保存して、次に
top
を開始したときに引き続き有効になるようにします。 - d :新しいディスプレイのリフレッシュレートを設定します。
- スペース:
top
に強制的に表示を更新します。
トップバナナ
これまで見てきたように、 top
にはかなりのレパートリーがあります。 htop
などの他のプログラムはそれに触発されていますが、それぞれ独自の考え方を持っています。
ただし、 top
はどこにでもインストールされています。 ネットワークやサーバーを調べるために企業に行くと、ライブサーバーでは何も変更できないとよく言われます。 クライアントがルールを作成するため、すでにインストールされているものを使用する必要があります。
別の監視ツールを好む場合でも、 top
を知る必要があります。 遅かれ早かれ、あなたはそれがあなたがアクセスできるすべてである状況に自分自身を見つけるでしょう。
Linuxコマンド | ||
ファイル | tar・pv・cat・tac・chmod・grep・diff・sed・ar・man・pushd・popd・fsck・testdisk・seq・fd・pandoc・cd・$ PATH・awk・join・jq・fold・uniq・journalctl・tail・stat・ls・fstab・echo・less・chgrp・chown・rev・look・strings・type・rename・zip・unzip・mount・umount・install・fdisk・mkfs・rm・rmdir・rsync・df・gpg・vi・nano・mkdir・du・ln・patch・convert・rclone・shred・srm | |
プロセス | エイリアス・screen・top・nice・renice・progress・strace・systemd・tmux・chsh・history・at・batch・free・which・dmesg・chfn・usermod・ps・chroot・xargs・tty・pinky・lsof・vmstat・タイムアウト・wall・yes・kill・sleep・sudo・su・time・groupadd・usermod・groups・lshw・shutdown・reboot・halt・poweroff・passwd・lscpu・crontab・date・bg・fg | |
ネットワーキング | netstat・ping・traceroute・ip・ss・whois・fail2ban・bmon・dig・finger・nmap・ftp・curl・wget・who・whoami・w・iptables・ssh-keygen・ufw |
関連:開発者と愛好家のための最高のLinuxラップトップ