ロードアベレージ
- CPU1コアに対して平均的にどれだけのプロセスが実行待ち状態になっているかという指標
- 左から1分前、5分前、15分前の数値
- CPUのコア数未満の値の場合、正常値とみなすことができる
$ uptime
14:00:46 up 1 min, 1 user, load average: 0.24, 0.13, 0.05
- ちなみにCPUの情報は以下のコマンドから取得できる
# 物理CPUの数
$ grep physical.id /proc/cpuinfo | sort -u | wc -l
1
# CPU毎のコア数
$ grep cpu.cores /proc/cpuinfo | sort -u
cpu cores : 2
# 論理プロセッサ数
# 通常は物理CPUの数 x CPU毎のコア数
# ハイパースレッディング等の機能が有効になっている場合、これを上回る場合がある
$ grep processor /proc/cpuinfo | wc -l
2
CPU負荷
- topコマンドによる取得方法
-
id
はidle、つまり使用されていないCPU利用率 -
-c
でプログラム名ではなくコマンド名を表示 -
-d 1
で1秒ごとに更新
$ top
top - 22:48:58 up 20 days, 6:59, 1 user, load average: 0.04, 0.08, 0.03
Tasks: 254 total, 1 running, 253 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.2 us, 0.1 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7821.5 total, 610.2 free, 1725.4 used, 5485.9 buff/cache
MiB Swap: 2048.0 total, 1964.2 free, 83.8 used. 5376.4 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
727 root 20 0 1429856 52316 33904 S 0.7 0.7 84:26.28 containerd
28015 kazukic+ 20 0 4949764 285280 125064 S 0.3 3.6 29:38.08 gnome-shell
33872 kazukic+ 20 0 642000 69584 51248 S 0.3 0.9 0:21.06 gnome-terminal-
41373 kazukic+ 20 0 32.6g 91620 59020 S 0.3 1.1 31:25.68 slack
41414 kazukic+ 20 0 40.7g 282692 102284 S 0.3 3.5 121:17.62 slack
50010 kazukic+ 20 0 2672496 247888 98620 S 0.3 3.1 17:16.31 Isolated Web Co
223216 kazukic+ 20 0 14068 4080 3380 R 0.3 0.1 0:00.39 top
1 root 20 0 166096 12536 7712 S 0.0 0.2 0:34.36 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:01.07 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-events_highpri
9 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tasks_rude_
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tasks_trace
12 root 20 0 0 0 0 S 0.0 0.0 0:15.57 ksoftirqd/0
13 root 20 0 0 0 0 I 0.0 0.0 2:21.22 rcu_sched
14 root rt 0 0 0 0 S 0.0 0.0 0:07.08 migration/0
15 root -51 0 0 0 0 S 0.0 0.0 0:00.00 idle_inject/0
16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0
17 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/1
18 root -51 0 0 0 0 S 0.0 0.0 0:00.00 idle_inject/1
19 root rt 0 0 0 0 S 0.0 0.0 0:07.35 migration/1
20 root 20 0 0 0 0 S 0.0 0.0 0:00.90 ksoftirqd/1
-
htop
コマンドによる取得方法 - デフォルトではインストールされていないため、追加でインストールが必要
- 上段がコア毎のCPU使用率
- 下段がプロセス毎のCPU使用率
- 継続的に15%を超える負荷が続いている場合、ボトルネックとなっている可能性が高い
$ htop
メモリ負荷
-
free
コマンドによる取得方法 -
total
はメモリの総量、used
はメモリの使用量 -
--human
又は-h
オプションで人間が読みやすいように単位をつけて表示する
$ free -h
total used free shared buff/cache available
Mem: 7.6Gi 1.7Gi 612Mi 424Mi 5.4Gi 5.3Gi
Swap: 2.0Gi 83Mi 1.9Gi
- 上段がメモリとスワップの使用率
- 下段がプロセス毎のメモリ使用率
$ htop
ディスクI/O
- 引数の
1
は1秒毎に表示するという意味 -
io
欄の-
bi
がブロックデバイスからの読み込み -
bo
がブロックデバイスへの書き込み
-
- 単位はブロック数/毎秒
- 継続的に大きなデータの読み込み/書き込みが行われている場合(目安としては100)、ボトルネックとなっている可能性が高い
$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 1052432 52184 422528 0 0 104 7 146 167 1 1 98 0 0
1 0 0 1051928 52184 422528 0 0 0 0 362 357 1 1 98 0 0
0 0 0 1051928 52184 422528 0 0 0 0 351 353 1 0 99 0 0
1 0 0 1051928 52192 422524 0 0 0 88 291 322 1 1 98 0 0
1 0 0 1051928 52192 422532 0 0 0 160 378 320 1 0 99 0 0
^C
ネットワークトラフィック
- デフォルトではインストールされていないため、追加でインストールが必要
$ sudo apt install -y vnstat
-
-i
オプションではネットワークインタフェースを指定する- ネットワークインタフェースは
ifconfig
やip a
コマンドから確認可能
- ネットワークインタフェースは
-
-l
オプションを指定するとパケットの推移を監視できる - rxは受信パケット(Receiver)
- txは送信パケット(Transmitter)
- アクセス数や通信内容にもよるが、1Mbit/sを上回る場合はボトルネックとなっている可能性が高い
$ vnstat -i eth0 -l
Monitoring eth0... (press CTRL-C to stop)
rx: 1.94 kbit/s 3 p/s tx: 1.94 kbit/s 3 p/s^C
eth0 / traffic statistics
rx | tx
--------------------------------------+------------------
bytes 23.71 MiB | 687.19 KiB
--------------------------------------+------------------
max 34.77 Mbit/s | 487.26 kbit/s
average 2.43 Mbit/s | 68.65 kbit/s
min 0 bit/s | 0 bit/s
--------------------------------------+------------------
packets 18548 | 3188
--------------------------------------+------------------
max 2905 p/s | 168 p/s
average 226 p/s | 38 p/s
min 0 p/s | 0 p/s
--------------------------------------+------------------
time 1.37 minutes