Red Hat Enterprise Linux 5 および 6 で、sar -d および iostat -x が間違ったディスク統計をレポートします
Environment
- Red Hat Enterprise Linux 5.3 以降
- Red Hat Enterprise Linux 6
- sysstat
Issue
sar -d
やiostat -x
が、一部のパーティションに対して高い使用量と極端に長いキューをレポートします。たとえば以下のようになります。
03:00:25 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
03:00:30 PM dev134-448 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
03:00:30 PM dev134-449 0.00 0.00 0.00 0.00 3689348814741909.50 0.00 0.00 99.84
03:00:30 PM dev134-450 0.00 0.00 0.00 0.00 1.00 0.00 0.00 99.84
Resolution
RHEL5 でこの問題を修正するには、バージョン 2.6.18-242
以降のカーネルをインストールする必要があります。
RHEL6 でこの問題を修正するには、バージョン 2.6.32-220
以降のカーネルをインストールする必要があります。
Root Cause
異なるパーティションに隣接するセクターにある 2 つの I/O をカーネルがマージすると、いずれかのパーティションの in_flight カウンターがマイナスになり、/proc/diskstats が間違った値をレポートします。sar および iostat は、この /proc/diskstats
のカウンターを使用して avgqu-sz
を計算するため、この値は sar および iostat の両方に影響します。
診断情報
- この問題は、bz646816 に記載されています。
- アップストリームパッチの詳細は、http://lkml.org/lkml/2010/10/12/23 . に記載されています。
- 問題のデバイスの正しいパフォーマンスについては、デバイスから読み込み ('
dd if=/dev/sda of=/dev/null bs=128M count=1
')、計測されたスループットを調査して確認することができます。
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments