標準インストールのままでLinuxを利用していると,たとえUltraATA66のハードディスクドライブを使用していても,DMA転送さえオンになっていない可能性がある。このような可能性がある場合には,次のように入力してみよう。
$ hdparm -t /dev/hda /dev/hda: setting using_dma to 0 (off) using_dma=0 (off) Timing buffered disk reads:64 MB in 24.20 seconds =2.64 MB/sec |
最近のハードディスクを使用しているにも関わらず,上記のような20秒を超える結果が出たら間違いなくハードディスクの性能が生かしきれていない。DMA転送をオンにすれば明らかに転送レートが上がるだろう。次のように指定すればDMA転送を有効にすることが可能だ。
$ hdparm -t -d 1 /dev/hda /dev/hda: using_dma=1 (on) Timing buffered disk reads:64 MB in6.46 seconds =9.91 MB/sec |
DMA転送オン | hdparm -d1 /dev/hdx |
DMA転送オフ | hdparm -d0 /dev/hdx |
16ビットI/Oモード | hdparm -c0 /dev/hdx |
32ビットI/Oモード | hdparm -c1 /dev/hdx |
さらに,「-d 1」と併用して「-X34」オプションを指定するとDMAモード2をオンにすることもできる。「-X66」オプションを指定すると,UltraDMAモード2をオンにすることも可能だ。
ただし,「-X」オプションは未対応のドライブで試すとドライブが壊れることもあるため,気軽には行わないほうがよいだろう。十分に注意したい。
# hdparm -X66 /dev/hda |
以上すべての設定は,再起動を行うとクリアされてしまう。カーネルの再構築を行う手段もあるが,/etc/rc.d/rc.localに追加しておくのが手軽だろう。
# vi /etc/rc.d/rc.local /sbin/hdparm -t -d 1 /dev/hda ←追加 |
|
Copyright © ITmedia, Inc. All Rights Reserved.