GNU/Linux >> Linux の 問題 >  >> Linux

iostat を使用して Linux でシステム パフォーマンスを監視する (例を含む)

iostat コマンドは、物理ディスクがアクティブな時間を平均転送速度と比較して観察することにより、システム入出力デバイスの負荷を監視するために使用されます。この情報を使用してシステム構成を変更し、物理ディスクとアダプター間の入出力負荷のバランスを改善できます。

以下は、引数なしで iostat コマンドを実行した場合の出力例です。

# iostat
Linux 3.10.0-514.2.2.el7.x86_64 (geeklab)     11/07/2017      _x86_64_        (128 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.36    0.00    1.07    0.24    0.00   98.32

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              17.26         8.80       242.60    3795176  104664988
sdb               0.52         5.66        36.17    2440242   15603348
sdc               0.02         0.34         0.00     147313          0
sdd               0.01         0.09         0.00      39527          0
sde               0.01         0.10         0.00      41189          0
sdf               0.01         0.09         0.00      39025          0
.....

最初の行には、システムの Linux カーネル バージョン、ホスト名、現在の日付、アーキテクチャ、および CPU の数が表示されます。

iostat ユーティリティ レポートには次のセクションがあります。
– CPU 使用率
– デバイス使用率

CPU 使用率レポート

次の 2 行は、CPU 統計を表示します。マルチプロセッサ システムの場合、CPU 値はすべてのプロセッサのグローバル平均です。列は次のように定義されます:

%user ユーザー レベルでアプリケーションを実行中に使用される CPU の割合
%nice ナイス プライオリティでユーザー レベルで実行中に使用される CPU の割合
%system システム (カーネル) レベルでの実行中に使用される CPU の割合
%iowait システムに未処理のディスク I/O 要求がある間に CPU がアイドル状態だった時間の割合
%盗む ハイパーバイザーが別の仮想プロセッサにサービスを提供している間に、仮想 CPU が意図しない待機に費やされた時間の割合
%idle CPU (または CPU が) アイドル状態で、システムに未処理のディスク I/O 要求がなかった時間の割合

デバイス使用状況レポート

例の残りの行は、物理デバイスごとまたはパーティションごとの統計を表示します。ブロック デバイスとパーティションを引数として iostat コマンドに含めることができます。引数が含まれていない場合、レポートには、カーネルが統計を持っているすべてのデバイスが表示されます。列は次のように定義されます:

デバイス /dev ディレクトリにリストされているデバイスまたはパーティション名
tps デバイスに発行された 1 秒あたりの転送 (I/O 要求) の数
kB_read/s 1 秒あたりのキロバイト数で表される、デバイスから読み取られたデータの量。
kB_wrtn/s 1 秒あたりのキロバイト数で表される、デバイスに書き込まれたデータの量
kB_read 読み取られた合計キロバイト数
kB_wrtn 書き込まれた総キロバイト数

iostat コマンドにさまざまなオプションを指定すると、より詳細な統計を含めることができます。コマンドライン オプションの一部を以下に示します:

-c CPU 使用率レポートを表示します。
-d デバイス使用率レポートを表示します。
-m 統計をメガバイト/秒で表示します。
-x 拡張統計を表示します。

interval および count 引数を使用して、複数のレポートを異なる間隔で実行できます。次の例では、すべてのデバイスについて 2 秒間隔で 6 つのレポートを表示します:

# iostat –d 2 6

iostat コマンドの例

例 1 – iostat コマンド

CPU と入出力デバイスの使用率の統計を表示するには、次のコマンドを使用します:

# iostat 
Linux 3.10.0-693.21.1.el7.x86_64 (jamiericho1.mylabserver.com) 	03/16/2018 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.90    0.00    2.60    1.76    2.87   86.87

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
xvda             68.90       947.14      1117.86     340222     401546
xvdf              2.76        55.51         0.00      19940          0

iostat からの最初の出力は、システムの起動以降の情報の合計です。 iostat コマンドの実行間隔は指定されていないため、デフォルトでシステムの起動以降の概要情報が表示されます。

例 2 – 間隔を指定した iostat

統計の傾向を確認したり、一定の間隔で統計を継続的に表示したりするには、間隔を指定して iostat コマンドを使用します。たとえば、統計を 5 秒ごとに報告するには:

# iostat 5

間隔の数を指定して、統計が生成される回数を制限することもできます。たとえば、iostat コマンドを 5 秒間隔で 3 間隔のみで実行するには:

# iostat 5 3

例 3 – CPU 統計のみを表示する

システムの CPU 統計のみを表示するには、「-c」を使用します。 ” iostat のオプション

# iostat -c
Linux 3.10.0-693.21.1.el7.x86_64 (jamiericho1.mylabserver.com) 	03/16/2018 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.64    0.00    1.20    0.78    1.34   94.03

例 4 – ディスク統計の表示

iostat で使用できるもう 1 つの便利なオプションは、「-d」です。 」 システムのディスク統計のみを表示します。

# iostat -d
Linux 3.10.0-693.21.1.el7.x86_64 (jamiericho1.mylabserver.com) 	03/16/2018 	_x86_64_	(1 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
xvda             28.82       389.03       465.87     340222     407421
xvdf              1.14        22.80         0.00      19940          0

例 5 – 拡張統計の表示

iostat で拡張統計を表示するには、「-x」を使用します " オプション。たとえば、

# iostat -x
Linux 3.10.0-693.21.1.el7.x86_64 (jamiericho1.mylabserver.com) 	03/16/2018 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.52    0.00    0.71    0.45    0.83   96.50

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
xvda              0.03     1.57   11.38    6.75   242.60   288.58    58.59     0.17    9.13    0.91   23.00   0.42   0.76
xvdf              0.00     0.00    0.70    0.00    14.10     0.00    40.16     0.00    2.84    2.84    0.00   2.15   0.15

例 6 – さまざまなオプションの組み合わせ

上記の例のいくつかのオプションをいつでも組み合わせることができます。これにより、以下の例に示すように、2 秒間隔で 3 間隔で拡張ディスク使用率レポートを表示できます。

# iostat -xdt 2 3
Linux 3.10.0-693.21.1.el7.x86_64 (jamiericho1.mylabserver.com) 	03/16/2018 	_x86_64_	(1 CPU)

03/16/2018 04:57:55 AM
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
xvda              0.03     1.45   10.47    6.23   223.11   265.50    58.53     0.15    9.12    0.91   22.93   0.42   0.70
xvdf              0.00     0.00    0.65    0.00    12.96     0.00    40.16     0.00    2.84    2.84    0.00   2.15   0.14

03/16/2018 04:57:57 AM
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
xvda              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
xvdf              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

03/16/2018 04:57:59 AM
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
xvda              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
xvdf              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

ここで、
-t – インターバルのタイムスタンプを表示

vmstat を使用して Linux のパフォーマンスの問題をトラブルシューティングする


Linux
  1. 24 Linux パフォーマンス監視の iostat、vmstat、および mpstat の例

  2. Linux での dmsetup コマンドの使用例

  3. Linux での resize2fs コマンドの例

  1. Sysstatを使用してLinuxシステムのパフォーマンスを監視する方法

  2. iostat を使用して Linux でシステム パフォーマンスを監視する (例を含む)

  3. Linux での localectl コマンドの例

  1. オープンソースツールを使用してLinuxのパフォーマンスのボトルネックを特定する

  2. Linux での「shutdown」コマンドの例

  3. Linux 待ち行列システム