vmstat
メモリおよび仮想メモリの詳細な状態を継続的に監視できる
サンプル
$ vmstat 1 5 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 3220584 4216 420184 0 0 0 0 7 5 0 0 100 0 0 0 0 0 3220568 4216 420184 0 0 0 0 70 57 0 0 100 0 0 0 0 0 3220568 4216 420184 0 0 0 0 56 49 0 0 100 0 0 0 0 0 3220568 4216 420184 0 0 0 0 58 45 0 0 100 0 0 0 0 0 3220568 4216 420184 0 0 0 0 46 39 0 0 100 0 0
- r
- ランキューの長さ
- 待機しているタスクと実行されているタスクの合計
- 実行可能スレッドの総数
- ランキューの長さ
- b
- 割り込み不可能なスリープ状態にあるプロセス数
- us
- ユーザー時間
- sy
- システム時間(カーネル)
- id
- アイドル時間
- wa
- I/O 待ちの時間
- スレッドがディスク I/O のためにブロックされていて、CPU がアイドル状態になっている時間を計測
- st
- 盗まれた(STolen)時間(この出力には表示されていない)
- 仮想環境で、ほかのテナントにサービスを提供するために使われた CPU 時間を示す
- これらの数値は、基本的にすべての CPU を対象とするシステム全体での平均だが、r だけは例外で、合計になっている
- r
- Solaris では、r 欄はディスパッチャキュー(ランキュー)で待機しているスレッドの数だけを数える
- ほかの CPU 欄は分解能の高い CPU マイクロステートを基礎としているのに、この欄は 1 秒に 1 度しかサンプリングされない(clock() による)ので、この欄だけ一貫性を欠くように見 える
- 注意
- CPU 使用率はコア数を合わせた全体の利用率である
- 2 core を想定し、50 % 表示されていた場合、1 core は 0 % で、もう 1 core は 100 % の可能性がある
- mpstat で CPU コアごとの値を確認する
- CPU 使用率はコア数を合わせた全体の利用率である