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

Linux でハードディスクの負荷を監視するにはどうすればよいですか?

解決策 1:

iostat を使用すると、これをかなり正確に測定できます。 ツールです。

% iostat -dx /dev/sda 5

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.78    11.03    1.19    2.82    72.98   111.07    45.80     0.13   32.78   1.60   0.64

ディスク使用率は最後の列に表示されます。これは次のように定義されます

<ブロック引用>

I/O 要求がデバイスに発行された CPU 時間の割合 (デバイスの帯域幅使用率)。この値が 100% に近づくと、デバイスの飽和が発生します。

解決策 2:

iotop は、各プロセスが使用している IO の量を確認する top のバージョンです。標準のubuntuリポジトリにあります。 RHEL にあるのか Fedora にあるのかはわかりませんが、あるはずです。

iotop をサポートしていない古いカーネル (CentOS 5.x または RHEL 5.x など) の場合は、代わりに topio を使用します (ここに文書化されています:http://yong321.freeshell.org/freeware/pio.html#linux。/ に依存しています)。 proc//io を io 統計に使用し、iotop と同様の機能を提供します。詳細については、リンクを参照してください。

解決策 3:

コメントでサスタニンが示唆しているように、 /sys/block/sda/stat で指定された値を直接処理できます または /proc/diskstats .これは、言及されている他のツールが利用できず、簡単にインストールできない場合に役立ちます。

たとえば、(IIUC) 次のようなもの (bash で) は、1 秒あたりの読み取り数を与える必要があります:

OLD=`awk '{print $1}' /sys/block/sda/stat` # First field is number of read I/Os processed
DT=1
for ii in `seq 1 10`
do
    sleep $DT
    NEW=`awk '{print $1}' /sys/block/sda/stat`
    echo $((($NEW-$OLD)/$DT))
    OLD=$NEW
done

ドキュメントについては、https://www.kernel.org/doc/Documentation/iostats.txt および https://www.kernel.org/doc/Documentation/block/stat.txt を参照してください。

解決策 4:

iotop/top/iftop の機能をすべて 1 か所にまとめた top を見て、システムの重要な部分を強調してください。

解決策 5:

nmon ツールを参照することをお勧めします。後で閲覧するためにファイルにデータを記録するだけでなく、多くのシステムパラメーターのライブ負荷を表示します。ここから無料のツールを入手できます:


Linux
  1. Linuxにデバイスドライバーをインストールする方法

  2. Linuxでディスクをパーティション分割する方法

  3. Linux でデバイスをマウントするには?

  1. Linux –ディスクミラーリング(raid-1)を設定する方法は?

  2. Linux のシリアル ポートでデータを監視するにはどうすればよいですか?

  3. ディスク io を監視するにはどうすればよいですか?

  1. Linuxでファイルをシンボリックリンクするにはどうすればよいですか?

  2. Linux サーバーでダミーのサウンド カード デバイスを作成するには?

  3. Linux - ディスク IO を待っているものを確認するにはどうすればよいですか