HP ML110 G5でdisk readを30倍にする方法

はまったので、他に困ってる人がいるかもしれないと思い書いておく。手短に。

HP ML110 G5でCentOS 5.2 x86_64をインストール。

# hdparm -tT /dev/hda

/dev/hda:
 Timing cached reads:   16412 MB in  1.99 seconds = 8247.41 MB/sec
 Timing buffered disk reads:   10 MB in  3.24 seconds =   3.08 MB/sec

おそい!

# hdparm -v /dev/hda

/dev/hda:
 multcount    = 16 (on)
 IO_support   =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 60801/255/63, sectors = 976773168, start = 0

DMAを1にしたいんだけどHDIO_SET_DMA failedとか言われて変更できないという・・。

で、いろいろ調べた挙げ句、BIOSの設定を以下のように変更。

[Advanced Chipset Control] - [Serial ATA] - [Native Mode Operation]の設定をAutoからSerial ATAに変更。

設定を保存して再起動・・。
起動時間が目に見えて速い。

# hdparm -Tt /dev/sda

/dev/sda:
 Timing cached reads:   14952 MB in  1.99 seconds = 7502.38 MB/sec
 Timing buffered disk reads:  272 MB in  3.01 seconds =  90.50 MB/sec

速くなった。hdaがsdaに変わった。

# hdparm -v /dev/sda

/dev/sda:
 IO_support   =  0 (default 16-bit)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 60801/255/63, sectors = 976773168, start = 0

こんな感じ。

原因としてはlibataがどうこうで設定を自動でやるとかやらないとか言う話なので、BIOSAHCI(Advanced Host Controller Interface)モードとかいうので動かしてね、ということのようだ。

あー、よかった。