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 でメモリごとにソートできます。
勉強後イメージ
あまりちゃんと見たことなかった・・・
でもすごいいろいろ情報がのっている