概要
iostatは、CPU、ディスク、ネットワークファイルシステム(NFS)の統計情報を提供し、システムの全体的なパフォーマンス状態の把握やI/O関連の問題の診断に役立ちます。特にディスクI/O負荷が高いシステムでボトルネックを特定するのに不可欠なツールです。
主な機能
- CPU使用率統計(user, nice, system, idle, iowaitなど)
- デバイス(ディスク、パーティション)ごとの秒間読み取り/書き込みリクエスト数およびデータ転送量
- デバイスごとの平均サービス時間、キュー長、I/O待機時間
- 指定された間隔での統計情報の繰り返し出力
- 多様な出力形式と単位のサポート
主なオプション
iostatコマンドは、さまざまなオプションを通じて出力される統計情報の種類、形式、繰り返し間隔などを細かく制御できます。
統計情報の種類選択
出力形式と単位
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`iostat` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
iostatコマンドを使用してシステムのCPUおよびディスクI/O統計情報を確認するさまざまな例です。
基本的なCPUおよびディスクI/O統計
iostat
CPU使用率とすべてのデバイスの基本的なI/O統計情報を一度出力します。
5秒間隔で3回繰り返し
iostat 5 3
5秒ごとにCPUおよびディスクI/O統計情報を合計3回出力します。
CPU統計のみ表示
iostat -c
CPU使用率の統計情報のみを出力します。
拡張ディスクI/O統計の表示
iostat -x
ディスクI/O統計を拡張形式で出力し、より詳細な情報を提供します。
特定のディスクの拡張I/O統計の表示
iostat -x sda
特定のディスク(例: sda)に関する拡張I/O統計を出力します。
人間が読みやすい単位でのディスクI/O統計の表示
iostat -h
ディスクI/O統計のデータ転送量をK, M, Gなどの人間が読みやすい単位で出力します。
タイムスタンプ付きで2秒間隔でディスク統計を繰り返し表示
iostat -d -t 2
各レポートの前にタイムスタンプを付け、2秒間隔でディスクI/O統計を継続的に出力します。
インストール
iostatは`sysstat`パッケージの一部として提供されます。ほとんどのLinuxディストリビューションではデフォルトでインストールされていない場合がありますので、必要に応じて次のコマンドを使用してインストールできます。
Debian/Ubuntu
sudo apt update
sudo apt install sysstat
APTパッケージマネージャーを使用してインストールします。
CentOS/RHEL/Fedora
sudo yum install sysstat
# または
sudo dnf install sysstat
YUMまたはDNFパッケージマネージャーを使用してインストールします。
Arch Linux
sudo pacman -S sysstat
Pacmanパッケージマネージャーを使用してインストールします。
ヒントと注意点
iostatを使用してシステムパフォーマンスを分析する際の役立つヒントと注意すべき点です。
出力解釈ガイド
主要な指標の簡単な説明です。
- **%user, %system, %iowait, %idle (CPU)**: CPU使用率を示します。%iowaitが高い場合は、ディスクI/Oのボトルネックが疑われます。
- **r/s, w/s (Device)**: 秒間読み取り/書き込みリクエスト数です。高いほどディスクアクティビティが多いことを意味します。
- **rkB/s, wkB/s (Device)**: 秒間読み取り/書き込みデータ量(KB)です。実際のデータ転送量を示します。
- **await (Device)**: I/Oリクエストがキューで待機し、ディスクで処理されるまでにかかる平均時間(ミリ秒)です。この値が高い場合、ディスクの応答時間が遅いことを意味します。
- **%util (Device)**: デバイス使用率です。100%に近い場合、そのデバイスが最大容量で動作していることを示し、ボトルネックの原因となる可能性があります。
継続的な監視
iostatは特定時点のスナップショットを提供しますが、`iostat interval count`のような繰り返しオプションを使用して長期間監視すると、パフォーマンスの傾向を把握し、断続的な問題を診断するのにさらに効果的です。
他のツールとの併用
iostatはディスクI/Oに特化しているため、`top`, `vmstat`, `free`などの他のシステム監視ツールと組み合わせて、CPU、メモリ、ネットワークなど、システム全体の状態を総合的に分析することをお勧めします。