Home
734 words
4 minutes
【Unix】topコマンドの解説
2025-02-22

最終更新:2025-02-22

topコマンドは、Unix系システムにおいてリアルタイムでシステムリソースの使用状況やプロセスの動作状態を監視するためのツールである。

これにより、CPU使用率、メモリ使用状況、システム負荷、各プロセスの状態などを即座に把握することが可能となる。システム管理やトラブルシューティングにおいては、特に有用である。

出力結果の例#

以下の例は、topコマンドを実行した際の典型的な出力例である。

top - 04:58:30 up 10 days,  3:10,   4 users,  load average: 0.15, 0.20, 0.25
Tasks: 150 total,   1 running, 148 sleeping,   0 stopped,   1 zombie
%Cpu(s):  2.0 us,  1.0 sy,  0.0 ni, 96.0 id,  0.0 wa,  0.0 hi,  1.0 si,  0.0 st
KiB Mem : 2048000 total, 150000 free, 500000 used, 995000 buff/cache
KiB Swap: 1024000 total, 1024000 free,      0 used. 800000 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM   TIME+  COMMAND
 1234 alice     20   0  150000   5000   3000 S  5.0  0.2   0:30.00 bash
 2345 bob       20   0  250000  12000   5000 S  7.5  0.6   0:45.00 top

出力結果の解釈#

  • 最上部システム情報

    • 04:58:30: 現在のシステム時刻である。
    • up 10 days, 3:10: システムが再起動してから10日と3時間10分経過していることを示す。
    • 4 users: 現在ログインしているユーザーの数。
    • load average: 0.15, 0.20, 0.25: 過去1分、5分、15分の平均負荷を表しており、システムへの負荷の度合いがわかる。
  • タスク情報

    • Tasks: 150 total, 1 running, 148 sleeping, 0 stopped, 1 zombie: システム上で管理されているプロセスの状態を示す。
      • Zombieプロセス:プロセスが終了した後、親プロセスが終了ステータスを回収していないために、プロセス表に残った状態を意味する。
  • CPU使用率

    • %Cpu(s): 2.0 us, 1.0 sy, 0.0 ni, 96.0 id, 0.0 wa, 0.0 hi, 1.0 si, 0.0 st
      • us(ユーザー領域)、sy(システム領域)、ni(ナイスされたプロセス)、id(アイドル)、wa(I/O待ち)、hi(ハードウェア割り込み)、si(ソフトウェア割り込み)、st(仮想マシンによるスティール)の各割合が表示される。
  • メモリ使用状況

    • KiB MemおよびKiB Swapの行で、システムの総メモリ、使用中、空き、バッファ/キャッシュ、スワップ領域の情報が示される。
  • プロセス一覧

    • 各行はプロセスの詳細情報を示し、PID、ユーザー、優先度(PR)、ナイス値(NI)、仮想メモリサイズ(VIRT)、実メモリサイズ(RES)、共有メモリ(SHR)、プロセス状態(S)、CPU使用率(%CPU)、メモリ使用率(%MEM)、累積実行時間(TIME+)、実行コマンド(COMMAND)が記載される。

ハンズオン#

以下に、topコマンドを活用してシステムの状態を見る手順を示す。

1. 基本的な使用方法#

ターミナルで以下のコマンドを実行する。

top

実行すると、上記のようなシステム統計情報及びプロセス一覧がリアルタイムで表示される。画面は定期的に自動更新され、最新の状態が随時反映される。

2. インタラクティブな操作方法#

topコマンドは対話型のツールであり、以下のキー操作を行える。

  • P: CPU使用率順にプロセスを並び替える。
  • M: メモリ使用率順にプロセスを並び替える。
  • q: topを終了する。
  • u: 特定のユーザー名を入力して、該当ユーザーのプロセスのみを表示する。
【Unix】topコマンドの解説
https://ss0832.github.io/posts/20250222_top_command_guide/
Author
ss0832
Published at
2025-02-22