5. I/O 監視

効果的なI/O 監視は、健全で応答性の高い Linux システムを維持するために不可欠です。このタスクのための強力なコマンドラインツールがiostatであり、CPU とディスクアクティビティの両方に関する詳細なレポートを提供します。

iostatコマンドを実行すると、システムのパフォーマンスメトリックのスナップショットが生成されます。

pete@icebox:~$ iostat
Linux 3.13.0-39-lowlatency (icebox)     01/28/2016      _i686_  (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.13    0.03    0.50    0.01    0.00   99.33

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.17         3.49         1.92     385106     212417

出力は主に 2 つのセクションに分かれています。それらを詳しく見ていきましょう。

CPU メトリックの理解

最初のレポートは CPU 使用率の詳細を示し、プロセッサが時間をどのように費やしているかについての洞察を提供します。

  • %user: ユーザーレベル(アプリケーション)プロセスを実行するために費やされた CPU 時間の割合。
  • %nice: 変更された(nice)優先度を持つユーザーレベルプロセスに費やされた CPU 時間の割合。
  • %system: システムレベル(カーネル)プロセスを実行するために費やされた CPU 時間の割合。
  • %iowait: CPU が保留中のディスク I/O リクエストの完了を待っている間にアイドル状態であった時間の割合。高い値はストレージのボトルネックを示している可能性があります。
  • %steal: 仮想化環境において、ハイパーバイザーが別の仮想プロセッサをサービスしている間に、仮想 CPU が実際の CPU を待機していた時間の割合。
  • %idle: CPU がアイドル状態であり、ディスク I/O リクエストを待っていなかった時間の割合。

ディスク使用率の分析

2 番目のレポートは、デバイスレベルのI/O 監視に焦点を当てており、ストレージデバイスとの間でデータがどのように転送されているかを示します。

  • tps: デバイスに対して発行された 1 秒あたりの転送回数。転送は I/O リクエストであり、複数の論理リクエストが 1 つのリクエストにまとめられることがあります。
  • kB_read/s: デバイスから読み取られたデータ量(キロバイト/秒)。
  • kB_wrtn/s: デバイスに書き込まれたデータ量(キロバイト/秒)。
  • kB_read: 前回の再起動以降にデバイスから読み取られたキロバイトの合計数。
  • kB_wrtn: 前回の再起動以降にデバイスに書き込まれたキロバイトの合計数。

ログインして学習進捗を保存

サインイン

演習

練習あるのみです!システム監視とディスク使用量に関する理解を深めるための実践的なラボをいくつかご紹介します。

  1. Linux df コマンド:ディスク空き容量レポート - マウントされたファイルシステムのディスク空き容量の使用状況をレポートする練習をします。これは監視の重要な側面です。
  2. Linux du コマンド:ファイル空き容量の推定 - ディレクトリとサブディレクトリのディスク空き容量の使用量を推定する方法を学びます。これはiostatからのディスク I/O 情報を補完します。
  3. Linux top コマンド:リアルタイムシステム監視 - CPU メトリックとメモリ使用量を含むリアルタイムのシステム監視を探索します。これはiostatで見た CPU メトリックに対してより広いコンテキストを提供します。

これらのラボは、実際のシナリオで概念を適用し、Linux システムリソースの監視に対する自信を構築するのに役立ちます。

クイズ

I/O と CPU 使用量を表示するために使用できるコマンドは何ですか?(小文字の英字のみで回答してください)