TopはLinuxでよく使われるパフォーマンス分析ツールであり、現在のシステム負荷状況、メモリ使用状況、および各プロセスのリソース使用状況をリアルタイムで動的に表示できます。
top コマンドを使用してシステム全体の状況を表示します。例:
top - 17:51:14 up 69 days, 20:06, 2 users, load average: 71.81, 71.99, 63.46
Tasks: 1335 total, 1 running, 1334 sleeping, 0 stopped, 0 zombie
%Cpu(s): 34.9 us, 6.0 sy, 0.1 ni, 58.9 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem : 79180025+total, 53055686+free, 16692761+used, 94315792 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 61829075+avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
52974 hudson 20 0 160.1g 146.3g 73796 S 3893 19.4 1273:28 observer
33773 root 39 19 764452 104396 4408 S 8.2 0.0 14:55.16 bianque_daemon_
8951 root 20 0 3398328 16880 3284 S 4.3 0.0 1787:32 y_watchdog
11959 root 10 -10 247688 107284 4508 S 3.9 0.0 4226:29 AliYunDun
9321 root 20 0 577532 79328 4264 S 3.0 0.0 1074:18 asar
98164 hudson 20 0 159020 3560 1572 R 1.6 0.0 0:00.14 top
95053 root 16 -4 1936116 72160 4460 S 1.3 0.0 2699:29 h2o
97939 root 20 0 169488 24716 788 S 1.3 0.0 0:00.13 vsar
2529 root 20 0 162396 14628 2148 S 1.0 0.0 453:31.03 ob-sm-probe
51856 root 39 19 2215292 56896 4072 S 1.0 0.0 561:25.46 argusage
最初の行には、システム全体の状況が表示されます。
top -システムの現在時刻up システム起動から現在までの時間、ユーザー数、load average:システムの1分間、5分間、15分間のCPU負荷情報
2行目には、システムタスクの状況が表示されます。
Tasks:タスクの合計数total、実行中のプロセス数running、スリープ中のプロセス数sleeping、停止したプロセス数stopped、ゾンビプロセス数zombie
3行目には、マシン全体のCPU状況が表示されます。
%Cpu(s):ユーザーモードプロセスが占めるCPU時間の割合us、カーネルが占めるCPU時間の割合sy、優先順位が変更されたプロセスが占めるCPUの割合ni、アイドルCPU時間の割合id、I/O待機中のCPU時間の割合wa、CPUハード割り込み時間の割合hi、CPUソフト割り込み時間の割合si
各CPUの情報を表示するには、この画面で1を押すと表示され、0を押すと表示が解除されます。例:
%Cpu0 : 24.3 us, 0.0 sy, 0.7 ni, 75.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu1 : 30.7 us, 0.7 sy, 1.0 ni, 67.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu2 : 40.7 us, 0.3 sy, 0.0 ni, 58.6 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st %Cpu3 : 39.1 us, 0.3 sy, 0.0 ni, 60.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu4 : 46.5 us, 0.0 sy, 0.0 ni, 53.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu5 : 10.6 us, 0.3 sy, 0.3 ni, 88.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st4行目には、システムメモリ情報が表示されます。
KiB Mem:総物理メモリ、アイドル物理メモリ、使用済み物理メモリ、キャッシュされた物理メモリ
5行目には、スワップ領域の情報が表示されます。
KiB Swap:スワップ領域の総量、アイドルスワップ領域、使用済みスワップ領域、バッファスワップ領域
7行目から、各プロセスの情報を表示します。
- PID:プロセスのID。
- USER:プロセスの所有者。
- PR:プロセスの優先順位。小さいほど優先的に実行されます。
- NI:プロセスのNice値。正の値は低優先順位を、負の値は高優先順位を表し、値が0の場合はそのプロセスの優先順位を調整しません。
- VIRT:プロセスが占有する仮想メモリ。
- RES:プロセスが占有する物理メモリ。
- SHR:プロセスが使用する共有メモリ。
- S:プロセスの状態。Sはスリープ、Rは実行中、Zはゾンビ状態、Nはそのプロセスの優先値が負の値を表します。
- %CPU:プロセスのCPU利用率。
- %MEM:プロセスが使用する物理メモリと総メモリの割合。
- TIME+:このプロセスが起動してから占有した総CPU時間、つまりCPU使用時間の累積値です。
- COMMAND:プロセスの起動コマンド名。
以下のインタラクティブなコマンドを使用して、さらに詳細な情報を確認できます:
H:スレッド情報を表示し、OBServerの各スレッドの状態を確認します。
P:CPU使用率でソートします。
M:メモリ使用率でソートします。
I:実行中のプロセスを表示します。
O:フィルターを追加します。例えば:
COMMAND:observerは、プロセス名がobserverのプロセスのみを表示します。スレッドのフィルタリングにも適用されます。例えば:COMMAND:RpcIO。