コマンドリファレンス - プロセスの上位を表示 top

 
1. top プログラムの上位を表示
2.  表示例
3.  よく使うオプション

1. top プログラムの上位を表示

 システム内の上位プロセスを表示し、その情報を定期的に更新します。

> top [オプション]
 q で終了します。  動きが遅いときに何が CPU を消費しているかを調べるときなどに使います。  本当に重いときは、このコマンド自体がなかなか起動してくれなかったりしますが(笑)。

2. 表示例

 FreeBSD のマニュアルには『実際の表示画面は、そのマシンで動作している Unix の種類によって異なります。』と書いてあります。  プラットフォームによっても異なりますし、ハードウェアの構成によっても異なります。  FreeBSD 11.1 RELEASE で表示したものです。

last pid:  2215;  load averages:  0.28,  0.34,  0.20             up 0+00:08:50  09:04:23
58 processes:  1 running, 57 sleeping
CPU:  0.2% user,  0.0% nice,  1.6% system,  0.4% interrupt, 97.9% idle
Mem: 697M Active, 490M Inact, 320M Wired, 201M Buf, 456M Free

Swap: 4096M Total, 114M Used, 3982M Free, 2% Inuse

  PID USERNAME    THR PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
 2213 hogehoge      1  20    0 20160K  3704K CPU0    0   0:00   0.56% top
 2018 mysql        38  52    0  1746M   318M select  1   0:07   0.47% mysqld
  616 root          1  20    0   149M 77664K select  0   0:05   0.32% perl
 2072 root          1  20    0 95012K 11672K select  1   0:00   0.26% httpd
  585 root          1  20    0 18384K 10284K select  1   0:01   0.19% ntpd
 2210 hogehoge      1  20    0 85228K  8288K select  1   0:00   0.15% sshd
  361 root          1  20    0  9560K  5044K select  1   0:00   0.05% devd
  434 root          1  20    0 10492K  2384K select  0   0:00   0.00% syslogd
  691 mysql         1  52    0 13180K  2728K wait    0   0:01   0.00% sh
  673 postgres      1  20    0   195M 22840K select  1   0:00   0.00% postgres
  682 nsd           1  20    0   148M 90540K kqread  0   0:00   0.00% nsd
 2145 root          1  52    0 10484K  2216K ttyin   0   0:00   0.00% getty
  669 postgres      1  20    0   195M 22840K select  0   0:00   0.00% postgres
  675 postgres      1  20    0   195M 23624K select  1   0:00   0.00% postgres
  603 root          1  20    0 76268K 31348K select  1   0:00   0.00% perl
  676 postgres      1  20    0 54640K 12612K select  0   0:00   0.00% postgres
  684 nsd           1  20    0 51908K 37844K select  1   0:00   0.00% nsd
  626 spamd         1  20    0   149M 77688K select  1   0:00   0.00% perl
 2211 hogehoge      1  24    0 22264K  4236K pause   0   0:00   0.00% tcsh
  619 qmails        1  20    0  8384K  2168K select  0   0:00   0.00% qmail-send
  674 postgres      1  20    0   195M 22888K select  0   0:00   0.00% postgres
  618 spamd         1  20    0   149M 77684K select  1   0:00   0.00% perl
  611 unbound       1  44    0 33264K 12108K kqread  1   0:00   0.00% unbound
 2207 root          1  24    0 85228K  8200K select  1   0:00   0.00% sshd
 2142 root          1  52    0 10484K  2216K ttyin   0   0:00   0.00% getty
  315 root          1  52    0 10624K  2372K select  1   0:00   0.00% dhclient
  623 qmaild        1  36    0 15388K  5264K accept  1   0:00   0.00% tcpserver
 掲載の表示例に沿っての説明をしておきます。

last pid:  2215;  load averages:  0.28,  0.34,  0.20             up 0+00:08:50  09:04:23
項目 意味
last pid: 2215 最後に動作したプロセスの ID
load averages: 0.28, 0.34, 0.20 ロードアベレージ「過去1分」「過去5分」「過去15分」
up 0+00:08:50 CPU の稼働時間
09:04:23 現在時刻



58 processes:  1 running, 57 sleeping
項目 意味
58 processes 全プロセス数
1 running 実行中プロセス数
57 sleeping スリープ中プロセス数

 表示例にはありませんが「stopped:停止プロセス数」「zombi:ゾンビプロセス数」というのもあります。



CPU:  0.2% user,  0.0% nice,  1.6% system,  0.4% interrupt, 97.9% idle
 CPU 使用率。
項目 意味
 0.2% user ユーザプロセス
 0.0% nice 実行優先度を変更したプロセス
 1.6% system システムプロセス
 0.4% interrupt 割り込み処理(※)
97.9% idle アイドル状態

  ※実はよくわかっていない。



Mem: 697M Active, 490M Inact, 320M Wired, 201M Buf, 456M Free
 メモリ使用量。
項目 意味
Active アクティブなページ数。
Inact アクティブでないページ数。
Wired 固定されているページ数。キャッシュされたファイルデータページを含む。
Buf BIO レベルのディスクキャッシュに使用しているページ数。
Free 未使用ページ数。
Laundry 新しいページのキューで、使用済みのメモリ。※

  ※参考「FreeBSD 11.1-RELEASE の top から Laundry が加わった

Swap: 4096M Total, 114M Used, 3982M Free, 2% Inuse
 スワップメモリ。
項目 意味
Total 使用可能なスワップ合計
Free 未使用スワップ合計
Wired 固定中スワップ
Inuse 使用中スワップ



  PID USERNAME    THR PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
 2213 hogehoge      1  20    0 20160K  3704K CPU0    0   0:00   0.56% top
項目 意味
PID プロセス ID。
USERNAME ユーザ名。
THR スレッド数。(※)
PRI 優先度。
NICE 変更された優先度。
SIZE プロセスサイズの合計。
RES 現在のメモリ常駐量。
STATE 現在の状態。
C CPU のコア数が 2 以上の場合のみ表示。使用中のコア。
TIME プロセスが消費したシステム時間およびユーザ時間。
WCPU 重み付き CPU パーセンテージ。
COMMAND プロセスが現在実行しているコマンド名。

  ※参考「UNIX/Linux の部屋 top コマンドの使い方

3. よく使うオプション

 わたしがよく使うオプションです。
オプション 意 味
FreeBSD CentOS
-I アイドル状態のプロセスを表示しない
-b バッチモード。キーボードの入力を受け付けません。ファイル出力等に使います。
-d count -n count count 回表示して終了
-s time -d time time 秒間隔で更新
-U ユーザを指定。ただし FreeBSD はユーザ名、CentOS はユーザ名、UID も可。