topコマンドとは?
リソースの状況確認に使えるコマンドで、
以下のように表示されます。
top - 11:14:25 up 1 min, 1 user, load average: 0.06, 0.03, 0.01
Tasks: 92 total, 1 running, 50 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1006896 total, 507080 free, 80744 used, 419072 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 785568 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 43572 5248 3896 S 0.0 0.5 0:01.90 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 I 0.0 0.0 0:00.02 kworker/0:0
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H
topコマンドの見方
top - 11:14:25 up 1 min, 1 user, load average: 0.06, 0.03, 0.01
11:14:25
: 時間を表示
up 1 min
: OSが起動してからの時刻
1 user
: コンソールへログインしているユーザ
load average: 0.06, 0.03, 0.01
: 実行待ちとディスクI/O待ちのプロセスの数 を表示していて、左から[1分平均] [5分平均] [15分平均]になります。
Tasks: 92 total, 1 running, 50 sleeping, 0 stopped, 0 zombie
92 total
: 存在するプロセス数
1 running
: 実行中のプロセス数
50 sleeping
: スリープ中のプロセス数
0 stopped
: 停止されたプロセス数
0 zombie
: ゾンビプロセス数
%Cpu(s): 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
0.3 us
: ユーザプロセスの使用時間の割合
0.0 sy
: システムプロセス使用時間の割合
0.0 ni
: 優先度を設定されたプロセス使用時間の割合
99.7 id
: アイドル状態の時間の割合
0.0 wa
: 読み込みや書き込みの完了待ち時間の割合
0.0 hi
: ハードウェア割り込み時間の割合
0.0 si
: ソフトウェア割り込み時間の割合
0.0 st
: CPUリソースを他サーバに割かれてしまい割り当てられなかった時間の割合
KiB Mem : 1006896 total, 507080 free, 80744 used, 419072 buff/cache
1006896 total
: 物理メモリ量
507080 free
: 空いているメモリ量
80744 used
: 割り当てられているメモリ量
419072 buff/cache
: バッファやキャッシュに割り当て中のメモリ量
KiB Swap: 0 total, 0 free, 0 used. 785568 avail Mem
0 total
: swap量
0 free
: 空いているswap量
0 used
: 割り当てられているswap量
785568 avail Mem
: 物理メモリの実質的な空き容量
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 43572 5248 3896 S 0.0 0.5 0:01.90 systemd
PID
: プロセスID
USER
: 実行しているユーザ
PR
: Priorityの略で優先度
NI
: nice値
VIRT
: 割り当てられている仮想のメモリ容量
RES
: Resident Memory Sizeの略で、実際に消費されているメモリ量
SHR
: Shared Memory Sizeの略で、RESのうち、共有メモリとして消費されているメモリ量
S
: プロセスの稼働状態
%CPU
: CPU使用率
%MEM
: メモリ使用率
TIME+
: プロセスが稼働してからCPUが処理した時間
COMMAND
: プロセス名。実行ファイル名やカーネルスレッド名が入る
便利機能
- メモリとswapの表示を変える
topコマンドのデフォルト
KiB Mem : 1006896 total, 504980 free, 82720 used, 419196 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 783556 avail Mem
「m」を1回目押す
ゲージで見えます
KiB Mem : 22.2/1006896 [||||||||||||||||| ]
KiB Swap: 0.0/0 [ ]
「m」を2回目押す
KiB Mem : 22.2/1006896 [ ]
KiB Swap: 0.0/0 [ ]
※実際はゲージが出てます
「m」を3回目押す → 消える
- CPUごとに使用率を確認
topデフォルト
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
「1」を1回押す
CPUごとに見れます
%Cpu0 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
- プロセスIDで絞る
top -p [プロセスID]
でそのプロセスIDだけを絞ってみることが出来ます。
top - 11:51:36 up 38 min, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1006896 total, 504048 free, 83644 used, 419204 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 782632 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 43572 5252 3896 S 0.0 0.5 0:01.92 systemd
- 秒数を指定して更新
top -d[秒数]
で秒数ごとに更新することが出来ます。
- メモリの使用率ごとに並べる
topコマンドを実行してから shift+m
でメモリごとにソートできます。
- CPUの利用率ごとに並べる
topコマンドを実行してから shift+p
でメモリごとにソートできます。
勉強後イメージ
あまりちゃんと見たことなかった・・・
でもすごいいろいろ情報がのっている