blog

Linuxシステムパフォーマンス監視のための6つのvmstatコマンドと6つのiostatコマンド

この記事では、Linuxのパフォーマンス・テスト関連のコマンドについて説明します。vmstatコマンドとiostatコマンドはSYSSTATパッケージ内に統合されているためです。 iostatコマンド...

Nov 13, 2019 · 22 min. read
シェア

この記事では、Linuxのパフォーマンス・テスト関連のコマンドを紹介します。 vmstatとiostatの2つのコマンドは、主要なLinux/Unixオペレーティング・システムで実行できます。

お使いのコンピュータでvmstatとiostatコマンドが動作しない場合は、sysstatパッケージをインストールしてください。vmstatコマンドとiostatコマンドはSYSSTAT(システム・モニタリング・ツール)パッケージ内に統合されているからです。 iostatコマンドは主にCPUと全デバイスの統計レポートを生成します。SYSSTATのダウンロードとインストールは、ソースのtarボールを使用してインストールする場合は、ここからSYSSTATをダウンロードしてインストールすることができますが、yumコマンドを使用してインストールすることをお勧めします。

LinuxでのSysstatのインストール

# yum -y install sysstat 

vmstat: メモリ、プロセス、ページングなどの情報を収集します。

iostat: 中央処理装置の統計、デバイスとパーティションの入出力統計。

6 Linuxにおけるvmstatコマンドの例:

1.アクティブメモリと非アクティブメモリのリスト

以下の例では、6つのカラムがあります。各カラムの詳細については、vmstat man ページを参照してください。最も注目すべきフィールドは、メモリのfree、スワップのsiなどです。

[root@tecmint ~]# 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 
 1  0      0 810420  97380  70628    0    0   115     4   89   79  1  6 90  3  0 

A. free : フリースペース。

B, si : ディスクからスワップへの速度はキロバイト/秒です。

Swapeからディスクへの転送速度はキロバイト/秒です。

注意:パラメータなしでvmstatを実行すると、デフォルトでサマリー・レポートが表示されます。

2、「X」秒ごとにvmstatを実行します。

このコマンドでは、vmstatは2秒ごとに実行され、6回実行すると自動的に停止します。

[root@tecmint ~]# vmstat 2 6 
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- 
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 
 0  0      0 810420  22064 101368    0    0    56     3   50   57  0  3 95  2  0 
 0  0      0 810412  22064 101368    0    0     0     0   16   35  0  0 100  0  0 
 0  0      0 810412  22064 101368    0    0     0     0   14   35  0  0 100  0  0 
 0  0      0 810412  22064 101368    0    0     0     0   17   38  0  0 100  0  0 
 0  0      0 810412  22064 101368    0    0     0     0   17   35  0  0 100  0  0 
 0  0      0 810412  22064 101368    0    0     0     0   18   36  0  1 100  0  0 

3. vmstat コマンド(タイムスタンプ付き

vmstatコマンドは、-tパラメータを使用してタイムスタンプを表示します。

[tecmint@tecmint ~]$ vmstat -t 1 5 
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ ---timestamp--- 
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 
 0  0      0 632028  24992 192244    0    0    70     5   55   78  1  3 95  1  0        2012-09-02 14:57:18 IST 
 1  0      0 632028  24992 192244    0    0     0     0  171  514  1  5 94  0  0        2012-09-02 14:57:19 IST 
 1  0      0 631904  24992 192244    0    0     0     0  195  600  0  5 95  0  0        2012-09-02 14:57:20 IST 
 0  0      0 631780  24992 192244    0    0     0     0  156  524  0  5 95  0  0        2012-09-02 14:57:21 IST 
 1  0      0 631656  24992 192244    0    0     0     0  189  592  0  5 95  0  0        2012-09-02 14:57:22 IST 

4.各種カウンターの統計情報

vmstat -s パラメータを使用すると、さまざまなイベント・カウンタとメモリ統計が表示されます。

[tecmint@tecmint ~]$ vmstat -s 
      1030800  total memory 
       524656  used memory 
       277784  active memory 
       185920  inactive memory 
       506144  free memory 
        26864  buffer memory 
       310104  swap cache 
      2064376  total swap 
            0  used swap 
      2064376  free swap 
         4539 non-nice user cpu ticks 
            0 nice user cpu ticks 
        11569 system cpu ticks 
       329608 idle cpu ticks 
         5012 IO-wait cpu ticks 
           79 IRQ cpu ticks 
           74 softirq cpu ticks 
            0 stolen cpu ticks 
       336038 pages paged in 
        67945 pages paged out 
            0 pages swapped in 
            0 pages swapped out 
       258526 interrupts 
       392439 CPU context switches 
   1346574857 boot time 
         2309 forks 

5.ディスク統計

すべてのディスクの統計情報を表示するには、vmstat の -d オプションを使用します。

[tecmint@tecmint ~]$ vmstat -d 
disk- ------------reads------------ ------------writes----------- -----IO------ 
total merged sectors      ms  total merged sectors      ms    cur    sec 
ram0       0      0       0       0      0      0       0       0      0      0 
ram1       0      0       0       0      0      0       0       0      0      0 
ram2       0      0       0       0      0      0       0       0      0      0 
ram3       0      0       0       0      0      0       0       0      0      0 
ram4       0      0       0       0      0      0       0       0      0      0 
ram5       0      0       0       0      0      0       0       0      0      0 
ram6       0      0       0       0      0      0       0       0      0      0 
ram7       0      0       0       0      0      0       0       0      0      0 
ram8       0      0       0       0      0      0       0       0      0      0 
ram9       0      0       0       0      0      0       0       0      0      0 
ram10      0      0       0       0      0      0       0       0      0      0 
ram11      0      0       0       0      0      0       0       0      0      0 
ram12      0      0       0       0      0      0       0       0      0      0 
ram13      0      0       0       0      0      0       0       0      0      0 
ram14      0      0       0       0      0      0       0       0      0      0 
ram15      0      0       0       0      0      0       0       0      0      0 
loop0      0      0       0       0      0      0       0       0      0      0 
loop1      0      0       0       0      0      0       0       0      0      0 
loop2      0      0       0       0      0      0       0       0      0      0 
loop3      0      0       0       0      0      0       0       0      0      0 
loop4      0      0       0       0      0      0       0       0      0      0 
loop5      0      0       0       0      0      0       0       0      0      0 
loop6      0      0       0       0      0      0       0       0      0      0 
loop7      0      0       0       0      0      0       0       0      0      0 
sr0        0      0       0       0      0      0       0       0      0      0 
sda     7712   5145  668732  409619   3282  28884  257402  644566      0    126 
dm-0   11578      0  659242 1113017  32163      0  257384 8460026      0    126 
dm-1     324      0    2592    3845      0      0       0       0      0      2 

6.MB単位の統計表示

パラメータ-Sに対応する値は、k、K、m、またはMです。

[root@tecmint ~]# vmstat -S M 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 
 0  0      0    346     53    476    0    0    95     8   42   55  0  2 96  2  0 
 0  0      0    346     53    476    0    0     0     0   12   15  0  0 100  0  0 
 0  0      0    346     53    476    0    0     0     0   32   62  0  0 100  0  0 
 0  0      0    346     53    476    0    0     0     0   15   13  0  0 100  0  0 
 0  0      0    346     53    476    0    0     0     0   34   61  0  1 99  0  0 

6 Linuxにおけるiostatコマンドの例

7.CPUとI/O統計情報の表示

iostatのパラメータなしは、以下のように全パーティションのCPUとI/Oの統計情報を表示します。

[root@tecmint ~]# iostat 
Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU) 
avg-cpu:  %user   %nice %system %iowait  %steal   %idle 
           0.12    0.01    1.54    2.08    0.00   96.24 
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn 
sda               3.59       161.02        13.48    1086002      90882 
dm-0              5.76       159.71        13.47    1077154      90864 
dm-1              0.05         0.38         0.00       2576          0 

8.CPU統計のみ表示

iostatの-cパラメータでは、下図のようにCPU統計情報のみが表示されます。

[root@tecmint ~]# iostat -c 
Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU) 
avg-cpu:  %user   %nice %system %iowait  %steal   %idle 
           0.12    0.01    1.47    1.98    0.00   96.42 

9.ディスクのI/O統計のみを表示

iostatの-Dパラメータを使用すると、I/Oのみを持つすべてのパーティションの統計情報が表示されます。

[root@tecmint ~]# iostat -d 
Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU) 
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn 
sda               3.35       149.81        12.66    1086002      91746 
dm-0              5.37       148.59        12.65    1077154      91728 
dm-1              0.04         0.36         0.00       2576          0 

10.単一デバイスの I/O 統計のみを表示します。

デフォルトでは、すべてのパーティションの統計情報が表示されます。 特定のデバイスでディスクが使用されているI/O統計情報のみを表示するには、-pとデバイス名の引数を使用します。

[root@tecmint ~]# iostat -p sda 
Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU) 
avg-cpu:  %user   %nice %system %iowait  %steal   %idle 
           0.11    0.01    1.44    1.92    0.00   96.52 
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn 
sda               3.32       148.52        12.55    1086002      91770 
sda1              0.07         0.56         0.00       4120         18 
sda2              3.22       147.79        12.55    1080650      91752 

11.LVM統計の表示

LVM統計情報のみを表示するには、-nパラメータを使用します。

[root@tecmint ~]# iostat -N 
Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU) 
avg-cpu:  %user   %nice %system %iowait  %steal   %idle 
           0.11    0.01    1.39    1.85    0.00   96.64 
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn 
sda               3.20       142.84        12.16    1086002      92466 
vg_tecmint-lv_root     5.13       141.68        12.16    1077154      92448 
vg_tecmint-lv_swap     0.04         0.34         0.00       2576          0 

12. iostatのバージョン。

Vパラメータを指定すると、iostatのバージョンが次のように表示されます。

[root@tecmint ~]# iostat -V 
sysstat version 9.0.4 

セバスチャン・ゴダール

Read next