ウェブサイト検索

Vmstat および Iostat コマンドを使用した Linux パフォーマンス監視


これは、Linux コマンドと Linux パフォーマンス監視の継続的なシリーズです。この記事では、すべての主要な Unix で使用できる Vmstat および Iostat コマンドについて学習します。 - のような (Linux/Unix/FreeBSD/Solaris) オペレーティング システム。

vmstat コマンド (仮想メモリ統計ツールとも呼ばれます) は、Linux のプロセス、メモリ、ディスク、CPU アクティビティに関する情報を表示します。一方、iostat コマンドは CPU 使用率の監視に使用されます。 、すべてのディスクとパーティションのシステム入出力統計。

Linux マシンで vmstat および iostat コマンドを使用できない場合は、sysstat パッケージをインストールしてください。 vmstatsar、および iostat コマンドは、システム監視ツールである sysstat に含まれるパッケージのコレクションです。

リンク sysstat からソース tarball を使用してsysstat をダウンロードしてインストールすることもできますが、パッケージ マネージャーを通じてインストールすることをお勧めします。

Linux に Sysstat をインストールする

sudo apt install sysstat         [On Debian, Ubuntu and Mint]
sudo yum install sysstat         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a app-admin/sysstat [On Gentoo Linux]
sudo pacman -S sysstat           [On Arch Linux]
sudo zypper install sysstat      [On OpenSUSE]    

Linux での Vmstat コマンドの例を学ぶ

このセクションでは、vmstat コマンドの 6 つの例とその使用法をスクリーンショットとともに学びます。

1. アクティブなメモリと非アクティブなメモリをリストする

以下の例には 6 つの列があります。列の重要性については、vmstat のマニュアル ページで詳しく説明されています。最も重要なフィールドは、メモリの下の空きと、スワップ列の下のsi、soです。

[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
  • 空き – 空き/アイドルメモリスペースの量。
  • si – キロバイト単位でディスクから毎秒スワップされます。
  • そう – 毎秒キロバイト単位でディスクにスワップアウトされます。

注: パラメータを指定せずに vmstat を実行すると、システム起動以降の概要レポートが表示されます。

2. vmstat ‘X’ 秒と (‘回数) を実行します。

このコマンドを使用すると、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

-t パラメータを指定した vmstat コマンドは、以下に示すように、出力される各行のタイムスタンプを表示します。

[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. 各種カウンターの統計

-s スイッチを指定した vmstat コマンドには、さまざまなイベント カウンターとメモリ統計の概要が表示されます。

[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. Linux ディスク統計の監視

-d オプションを指定した vmstat は、Linux のすべてのディスク統計を表示します。

[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. 統計をメガバイト単位で表示する

vmstat はデフォルトでメモリ統計をキロバイト単位で表示しますが、引数 -S 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

Linux での Iostat コマンドの例を学ぶ

このセクションでは、6 つの iostat コマンドの例とその使用法をスクリーンショットとともに学びます。

7. ディスクの CPU および I/O 統計の表示

引数なしの iostat は、以下に示すように、すべてのパーティションのCPUI/O の統計を表示します。

[root@tecmint ~]# iostat

Linux 2.6.32-279.el6.i686 (linux-console.net)         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. Linux CPU 統計を表示します

-c 引数を指定した iostat には、以下に示すように CPU 統計のみが表示されます。

[root@tecmint ~]# iostat -c

Linux 2.6.32-279.el6.i686 (linux-console.net)         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. Linux ディスク I/O 統計を表示します

-d 引数を指定した iostat は、示されているように、すべてのパーティションのディスクI/O 統計のみを表示します。

[root@tecmint ~]# iostat -d

Linux 2.6.32-279.el6.i686 (linux-console.net)         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 統計を表示します

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

[root@tecmint ~]# iostat -p sda

Linux 2.6.32-279.el6.i686 (linux-console.net)         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統計の表示

-N (大文字) パラメータを使用すると、示されているように LVM 統計のみが表示されます。

[root@tecmint ~]# iostat -N

Linux 2.6.32-279.el6.i686 (linux-console.net)         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 11.7.3
(C) Sebastien Godard (sysstat  orange.fr)

vmstatiostat には、詳細に説明できない多数の列とフラグが含まれています。さらに詳しく知りたい場合は、vmstatiostat のマニュアル ページを参照してください。

man vmstat
man iostat

この記事が役立つと思われた場合は、下のコメントボックスを通じて共有してください。