端くれプログラマの備忘録 Unix [Unix] vmstat – 仮想メモリやディスクI/Oの統計情報を表示する

[Unix] vmstat – 仮想メモリやディスクI/Oの統計情報を表示する

まずは –help で指定可能なオプションを確認。

$ vmstat --help
Usage:
vmstat [options] [delay [count]]
Options:
-a, --active           active/inactive memory
-f, --forks            number of forks since boot
-m, --slabs            slabinfo
-n, --one-header       do not redisplay header
-s, --stats            event counter statistics
-d, --disk             disk statistics
-D, --disk-sum         summarize disk statistics
-p, --partition <dev>  partition specific statistics
-S, --unit <char>      define display unit
-w, --wide             wide output
-t, --timestamp        show timestamp
-h, --help     display this help and exit
-V, --version  output version information and exit
For more details see vmstat(8).

表示されるのは、最後に起動(再起動)した時から現在までの統計情報。

$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
2  0   5640 163836      0 500920    0    0     1     2   28   10  0  0 100  0  0

-a オプションでアクティブ/非アクティブなメモリの量を表示する。

$ vmstat -a
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
2  0   5640 165100 336060 349496    0    0     1     2   28   10  0  0 100  0  0
  • procs
    r – 実行中と実行待ち中のプロセス数の合計
    b – 割り込み不可能なスリープ状態にあるプロセス数
  • memory
    swpd – 使用中の仮想メモリの量
    free – 空きメモリの量
    buff – バッファとして使用しているメモリの量
    cache – キャッシュに使用している量
    inact – アクティブではないメモリの量
    active – アクティブなメモリの量
  • swap
    si – ディスクからスワップインしているメモリの量
    so – スワップアウトしている量
  • io
    bi – HDDのようなブロック型デバイスから受け取ったブロック数
    bo – ブロック型デバイスに送ったブロック数
  • system
    in – 1秒当たりの割り込み回数
    cs – コンテクストスイッチの回数
  • cpu
    us – カーネルコード以外の実行(ユーザー時間)に使用した時間(ユーザー時間)
    sy – カーネルコードの実行に使用した時間(システム時間)
    id – 空転していたアイドル時間
    wa – I/O待ち時間
    st – 仮想環境で実行している際、ホストOSにCPUリソースを割当ててもらえなかった時間の割合

-s オプションで1項目1行でメモリの統計情報とイベントカウンタを表示する。

$ vmstat -s
      1015004 K total memory
       350244 K used memory
       350512 K active memory
       336056 K inactive memory
       163836 K free memory
            0 K buffer memory
       500924 K swap cache
      4194300 K total swap
         5640 K used swap
      4188660 K free swap
        48909 non-nice user cpu ticks
         2322 nice user cpu ticks
        31132 system cpu ticks
     72163261 idle cpu ticks
          183 IO-wait cpu ticks
            0 IRQ cpu ticks
          241 softirq cpu ticks
          995 stolen cpu ticks
       474962 pages paged in
      1111970 pages paged out
            0 pages swapped in
         1405 pages swapped out
     19875667 interrupts
     50083694 CPU context switches
   1555456623 boot time
        29113 forks

-dオプションでディスクの統計情報を表示する。

$ vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
vda    13004     40  949476    6229  71797   7791 2224077   23394      0      5
vdb       62      0     448      16      0      0       0       0      0      0

-Dオプションでディスクの統計情報を1項目1行で表示す

$ vmstat -D
            2 disks
            1 partitions
        13066 total reads
           40 merged reads
       949924 read sectors
         6245 milli reading
        71800 writes
         7791 merged writes
      2224089 written sectors
        23394 milli writing
            0 inprogress IO
            5 milli spent IO

繰り返し表示したければ間隔(秒)と回数を指定する。

$ vmstat 1 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
2  0   5640 163836      0 500928    0    0     1     2   28   10  0  0 100  0  0
0  0   5640 163836      0 500928    0    0     0     0   33   86  0  0 100  0  0
0  0   5640 163836      0 500928    0    0     0     0   34   82  1  0 99  0  0
0  0   5640 163836      0 500928    0    0     0     0   30   80  0  0 100  0  0
0  0   5640 163836      0 500928    0    0     0    12   48  106  0  0 100  0  0
0  0   5640 162572      0 500948    0    0     0     0   58  101  0  1 99  0  0
0  0   5640 162572      0 500948    0    0     0     0   34   79  0  0 100  0  0
0  0   5640 162572      0 500948    0    0     0     0   33   82  0  0 100  0  0
0  0   5640 162572      0 500948    0    0     0     0   36   84  0  0 100  0  0
0  0   5640 162572      0 500948    0    0     0     0   36   85  0  0 100  0  0

参考サイト

【 vmstat 】コマンド――仮想メモリやディスクI/Oの統計情報を表示する:Linux基本コマンドTips(126) – @IT
https://www.atmarkit.co.jp/ait/articles/1707/13/news015.html

vmstatの見方と考え方:ぴろにっき:So-netブログ
https://piro791.blog.so-net.ne.jp/2008-10-02