Home > コマンド > topコマンドの使い方

topコマンドの使い方

Linuxサーバの稼動状況を把握するには、「top」コマンドを使用します。このコマンドは、Linuxサーバの稼動状況をタイムリーに表示してくれるので、逐次稼動状況を確認するのには何かと便利なコマンドです。しかし、この「top」コマンドは、情報量が多すぎて表示内容の意味を理解できません。そのため、表示内容を一度整理しておこうと思います。

topの表示内容は、次のような感じです。

top - 10:47:43 up 83 days,  1:35,  1 user,  load average: 0.26, 0.45, 0.49
Tasks:  65 total,   1 running,  64 sleeping,   0 stopped,   0 zombie
Cpu(s):  1.0% us,  0.3% sy,  0.0% ni, 98.7% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:    127240k total,   124732k used,     2508k free,     2644k buffers
Swap:  1028152k total,   169640k used,   858512k free,    19112k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

各行の表示内容についてまとめます。

1行目のtop以下の行

top - 10:47:43 up 83 days,  1:35,  1 user,  load average: 0.26, 0.45, 0.49

稼働時間等の情報を表示しています。各項目の内容は次のとおり。

  • 10:47:43 : 現在時間
  • up 83 days, 1:35 : 稼働時間(83日と1h25m間稼働中)
  • 1 user : ログインユーザ数
  • load average: 0.26, 0.45, 0.49 : 実行待ちジョブの平均数1分前、5分前、15分前

2行目のTasks以下の行

Tasks:  65 total,   1 running,  64 sleeping,   0 stopped,   0 zombie

存在するタスクの状態を表示しています。各項目の内容は次のとおり。

  • total : タスクの合計数
  • running : 稼働中のタスク数
  • sleeping : 待機中のタスク数
  • stopped : 停止タスク数
  • zombie : ゾンビタスク数

3行目のCpu以下の行

Cpu(s):  1.0% us,  0.3% sy,  0.0% ni, 98.7% id,  0.0% wa,  0.0% hi,  0.0% si

CPUの利用時間についての情報を占有時間の割合で表示しています。

  • us : ユーザプロセスの使用時間
  • sy : システムプロセスの使用時間
  • ni : 実行優先度を変更したユーザプロセスの使用時間
  • id : アイドル状態の時間
  • wa : I/Oの終了待をしている時間
  • hi : ハードウェア割込み要求での使用時間
  • si : ソフトウェア割込み要求での使用時間

4行目のMem以下の行

Mem:    127240k total,   124732k used,     2508k free,     2644k buffers

物理メモリの使用状況についての情報を表示しています。各項目の内容は次のとおり。

  • total : メモリ合計量
  • used : 使用中のメモリ量
  • free : 未使用のメモリ量
  • buffers : バッファに使用されているメモリ量

5行目のSwap以下の行

Swap:  1028152k total,   169640k used,   858512k free,    19112k cached

スワップ領域の使用状況を表示しています。各項目の内容は次のとおり。

  • totale : スワップ領域の合計量
  • used : 使用中のスワップ領域
  • free : 未使用のスワップ領域
  • cached : キャッシュされているスワップ領域

6行目のPID以下の行

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

実行中のタクス(プロセス)の詳細を表示しています。各項目の内容は次のとおり。

  • PID : プロセス識別番号
  • USER : プロセスを実行しているユーザ
  • PR : 優先度
  • NI : 相対的優先度(-20(最高)縲鰀19(最低))
  • VIRT: プロセスの仮想メモリサイズ(スワップアウトしたメモリ使用量を加えたメモリ量)
  • RES : プロセスが使用している物理(スワップされていない)メモリサイズ
  • SHR : プロセスが使用している共有メモリ
  • S : プロセスの状態(状態の詳細については*1
  • %CPU: CPU使用率
  • %MEM : 実メモリ使用率
  • TIME+ : プロセスの実行時間(秒)
  • COMMAND : 現在実行中のコマンド名

*1 プロセスの状態

  • S(スリープ状態)
  • T (停止中)
  • D (割り込み不可(sleep))
  • N (ナイス値がプラスの状態)
  • < (ナイス値がマイナスの状態)
  • R (実行中)
  • Z (ゾンビ状態)
  • W (スワップアウト状態)

並び順をソートするには

「top」コマンドの実行結果は、メモリー使用率やCPU使用率でソートされているのですが、項目を指定してソートすることが出来ます。「top」の結果表示画面で「Shift+o」で次のような画面が表示されます。ソートしたい項目をアルファベットで指定し、「Enter」で決定するとソート順がかわります。

Current Sort Field:  N  for window 1:Def
Select sort field via field letter, type any other key to return

  a: PID        = Process Id                      Note1:
  b: PPID       = Parent Process Pid                If a selected sort field can't be
  c: RUSER      = Real user name                    shown due to screen width or your
  d: UID        = User Id                           field order, the '< ' and '>' keys
  e: USER       = User Name                         will be unavailable until a field
  f: GROUP      = Group Name                        within viewable range is chosen.
  g: TTY        = Controlling Tty
  h: PR         = Priority                        Note2:
  i: NI         = Nice value                        Field sorting uses internal values,
  j: P          = Last used cpu (SMP)               not those in column display.  Thus,
  k: %CPU       = CPU usage                         the TTY & WCHAN fields will violate
  l: TIME       = CPU Time                          strict ASCII collating sequence.
  m: TIME+      = CPU Time, hundredths              (shame on you if WCHAN is chosen)
* N: %MEM       = Memory usage (RES)
  o: VIRT       = Virtual Image (kb)
  p: SWAP       = Swapped size (kb)
  q: RES        = Resident size (kb)
  r: CODE       = Code size (kb)
  s: DATA       = Data+Stack size (kb)
  t: SHR        = Shared Mem size (kb)
  u: nFLT       = Page Fault count
  v: nDRT       = Dirty Pages count
  w: S          = Process Status
  x: COMMAND    = Command name/line
  y: WCHAN      = Sleeping in Function
  z: Flags      = Task Flags 

関連コンテンツ

Home > コマンド > topコマンドの使い方

検索
管理情報

Return to page top