Vmstat および Iostat コマンドを使用した Linux パフォーマンス監視
これは、Linux コマンドと Linux パフォーマンス監視の継続的なシリーズです。この記事では、すべての主要な Unix で使用できる Vmstat および Iostat コマンドについて学習します。 - のような (Linux/Unix/FreeBSD/Solaris) オペレーティング システム。
vmstat コマンド (仮想メモリ統計ツールとも呼ばれます) は、Linux のプロセス、メモリ、ディスク、CPU アクティビティに関する情報を表示します。一方、iostat コマンドは CPU 使用率の監視に使用されます。 、すべてのディスクとパーティションのシステム入出力統計。
Linux マシンで vmstat および iostat コマンドを使用できない場合は、sysstat パッケージをインストールしてください。 vmstat、sar、および 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 は、以下に示すように、すべてのパーティションのCPU とI/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)
vmstat と iostat には、詳細に説明できない多数の列とフラグが含まれています。さらに詳しく知りたい場合は、vmstat と iostat のマニュアル ページを参照してください。
man vmstat
man iostat
この記事が役立つと思われた場合は、下のコメントボックスを通じて共有してください。