topコマンドを使うと、uptime, sar, freeの結果を見つつ各プロセスの状態を監視することができます。
topコマンド
top - 22:34:04 up 8 min, 1 user, load average: 0.54, 0.46, 0.24
Tasks: 124 total, 2 running, 122 sleeping, 0 stopped, 0 zombie
%Cpu(s): 24.2 us, 3.7 sy, 0.0 ni, 71.8 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
KiB Mem : 3633700 total, 117296 free, 1250360 used, 2266044 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 1604952 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1479 postgres 20 0 773632 224512 212264 R 93.0 6.2 4:38.59 postgres
1428 root 20 0 4881752 920180 19284 S 18.3 25.3 1:43.99 java
1484 postgres 20 0 777140 392000 373996 S 1.3 10.8 0:01.93 postgres
1483 postgres 20 0 772332 220864 205224 S 1.0 6.1 0:11.59 postgres
1230 postgres 20 0 752416 60148 58944 S 0.3 1.7 0:00.29 postgres
1680 hagiwara 20 0 130000 1728 1232 R 0.3 0.0 0:00.16 top
1 root 20 0 204116 6704 3916 S 0.0 0.2 0:01.16 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
…
1行目:load average
◆TOP - 22:34:04
現在の時間
◆UP - 8 min
システムの稼働時間
◆1 user
ログインユーザー数
◆load average: 0.54, 0.46, 0.24
過去1分、5分、15分間のシステムの平均負荷。
ロードアベレージは 1 CPU で処理可能な量を 1 とした場合の CPU リソースの要求量を反映した値で、一般的な数値の目安としてCPUのコア数より大きい数値の場合は過負荷な状態とのこと。ただ過負荷な状態でもCPUが過負荷なのか、IOが過負荷なのかは、ここでは切り分けできないとのこと。
2行目:タスクの情報
◆Tasks: 124 total, 2 running, 122 sleeping, 0 stopped, 0 zombie
状態別タスク数
3行目:CPUの情報
◆%Cpu(s): 24.2 us, 3.7 sy, 0.0 ni, 71.8 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
CPUの状態
4行目:メモリーの情報
5行目:スワップの情報
6行目以降:プロセス一覧
◆PID
プロセスのID
◆USER
プロセスを実行しているユーザー情報
◆PR:優先度
プロセスを実行しているユーザー情報
◆NI:相対的優先度
Nice value。相対優先度。0が基準で、負だと優先度が高く、正だと優先度が低い。
◆VIRT:仮想メモリ
Virtual Image。確保された仮想メモリ全て。スワップしたメモリ使用量を含む。
◆RES:物理メモリ
Resident size。 スワップしていない、使用した物理メモリのサイズ。
◆SHR:共有メモリ
Shared Mem size。 他のプロセスと共有される可能性のあるメモリのサイズ。
◆S:状態
Process Status。 以下のいずれの状態であるかを示している。
- D: 割り込み不能
- R: 実行中
- S: スリープ状態
- T: 停止中
- Z: ゾンビプロセス
◆%CPU:CPUの使用率
◆%MEM:メモリの使用率
◆TIME+:実行時間