Open4
システム負荷調査関連コマンド
uptime
- 起動された時間
- 起動されてから経過した時間
- ログインしているユーザ数
- 負荷状況を示すロードアベレージ(1分, 5分, 15分)
$ uptime
16:13:25 up 2 days, 4:30, 1 user, load average: 0.00, 0.00, 0.00
dmesg
- カーネルのログ用リングバッファを表示
- リングバッファと呼ばれる構造になっており、記録内容が規定のファイルサイズを超えると先頭に戻って古い内容から順に上書きする
- /var/log/dmesgに置かれることが多い
$ dmesg | tail
[ 8369.924644] IPv6: ADDRCONF(NETDEV_CHANGE): vethed9e5c18: link becomes ready
[ 8369.924975] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 8369.925840] cni-podman0: port 1(vethed9e5c18) entered blocking state
[ 8369.926184] cni-podman0: port 1(vethed9e5c18) entered disabled state
[ 8369.926523] device vethed9e5c18 entered promiscuous mode
[ 8369.926857] cni-podman0: port 1(vethed9e5c18) entered blocking state
[ 8369.927179] cni-podman0: port 1(vethed9e5c18) entered forwarding state
[21011.425042] cni-podman0: port 1(vethed9e5c18) entered disabled state
[21011.425950] device vethed9e5c18 left promiscuous mode
[21011.426268] cni-podman0: port 1(vethed9e5c18) entered disabled state
時刻をわかりやすいように表示(-T)
# dmesg -T | tail
[金 12月 10 14:02:01 2021] IPv6: ADDRCONF(NETDEV_CHANGE): vethed9e5c18: link becomes ready
[金 12月 10 14:02:01 2021] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[金 12月 10 14:02:01 2021] cni-podman0: port 1(vethed9e5c18) entered blocking state
[金 12月 10 14:02:01 2021] cni-podman0: port 1(vethed9e5c18) entered disabled state
[金 12月 10 14:02:01 2021] device vethed9e5c18 entered promiscuous mode
[金 12月 10 14:02:01 2021] cni-podman0: port 1(vethed9e5c18) entered blocking state
[金 12月 10 14:02:01 2021] cni-podman0: port 1(vethed9e5c18) entered forwarding state
[金 12月 10 17:32:43 2021] cni-podman0: port 1(vethed9e5c18) entered disabled state
[金 12月 10 17:32:43 2021] device vethed9e5c18 left promiscuous mode
[金 12月 10 17:32:43 2021] cni-podman0: port 1(vethed9e5c18) entered disabled state
free
- メモリ状況を確認するコマンド
- 「used」は「total - free - buffers - cache」の値
- 空きメモリがある限り、基本的に「buff/cache」は増加していく
- 空きメモリが無くなれば、使用中のメモリの増加に応じて、「buff/cache」が減少していく
- Swap領域とは、HDD内に設置される領域、メモリ容量が足りなくなった時、メモリの中で不要な部分をSwap領域を退避する(スワップアウト)
項目 | 内容 |
---|---|
total | 合計メモリ量 |
used | メモリ使用量 |
free | 全く使われていない未割り当てメモリ量 |
shared | tmpfsに使われている共有メモリ |
buff/cache | ファイルバッファ+キャッシュメモリに使われているメモリ量 |
available | 実質的な空きメモリ。freeが少なくなってきたら解放できるカーネル用のメモリのサイズを足したもの |
$ free -m
total used free shared buff/cache available
Mem: 8272 675 5206 79 2391 7241
Swap: 4299 0 4299
vmstat
procs
r :ランタイム待ちのプロセス数
- この数字が大きい(通常は0~2程度)場合、サーバは重い
b: 割り込み不可能なスリープ状態にあるプロセス数
- この数字が大きい(通常は0~2程度)場合、ディスクやネットワークのI/O待ち状態に入って、実際には実行できていない
memory
swpd:仮想メモリ量(KB)
- 使用しているスワップ領域
free:空きメモリ量
- 未利用のメモリ量
buff
cache
swap
si:ディスクからスワップインされているメモリの量
- スワップ(ディスク)⇨メモリの方向で展開したデータ量。スワップイン
so:ディスクにスワップしているメモリの量
- メモリ⇨スワップ(ディスク)の方向でスワップ領域に書き込んだデータ量。スワップアウト
io
system
in:1秒あたりの割り込み回数
- 今までしていたことを一旦やめて、他の処理を行う回数のレポート
cs:1秒あたりのコンテキストスイッチの回数
- プログラムの実行を切り替えること
- この数値が大きいと、オーバーヘッドが起きる
cpu
us:カーネルコード以外の実行に使用した時間
- 一般プログラムが動いていた時間の割合
sy:カーネルコードの実行に使用した時間
- カーネルコード(OS自身、Linuxコール等で呼び出された等)の処理のために費やした時間の割合
id:アイドル時間
- 完全にcpuが空いていた時間の割合
wa:IO待ち時間
- データの入出力処理(ディスクアクセス、ネットワークアクセス)を試みたものの、結果的にデータを待っていた時間の割合
st:仮想マシンから盗まれた時間
$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 0 5331576 4228 2444756 0 0 2 13 16 37 0 4 96 0 0