Linux チューン
HDDの高速化
【前書き】
最近のマシン(マザー/HDD)はDMA対応が主流だが、LinuxをインストールしたままのデフォルトではDMAが無効になっている事が多いようなので設定を変更しよう。
【パッケージ・ハードウエア】
RedHat6.1 + PC−PJ2−X4
【参照HomePage】
なし
【事前確認】
1.自分のHDD/マザーがDMA転送サポートしている事の確認
2.現在の設定の確認
hdparm /dev/hda すると(hdaの設定確認の場合)以下のように現在の設定が吐き出される、下の例だと I/O:16ビット、DMA:オンあたりが主なスピードに関する物。
/dev/hda:
multcount = 0 (off)
I/O support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 1 (on)
keepsettings = 0 (off)
nowerr = 0 (off)
readonly = 0 (off)
readahead = 8 (on)
geometry = 1467/255/63, sectors = 23579136, start = 0
【設定してみる】
設定の変更は以下の通り。
DMAオン:hdparm -d1 /dev/hda
DMAオフ:hdparm -d0 /dev/hda
16Bit I/Oモード:hdparm -c0 /dev/hda
32Bit I/Oモード:hdparm -c1 /dev/hda
ちなみにDMAのオンはカーネルのリコンフィグの時にも指定できる。
【効果のほど】
HDDの転送スピードのチェックは
hdparm -ft /dev/hda
-fはキャッシュフラッシュなので忘れず指定しよう、これが無いと何度か繰り返して測定した時に結果が安定しなくなる。
DMAオフ、16ビットモードの結果。
/dev/hda:
Timing buffered disk reads: 64 MB in 20.65 seconds = 3.10 MB/sec
DMAオン、16ビットモードの結果。
/dev/hda:
Timing buffered disk reads: 64 MB in 4.73 seconds =13.53 MB/sec
DMAオン、32ビットモードの結果。
/dev/hda:
Timing buffered disk reads: 64 MB in 4.88 seconds =13.11 MB/sec
DMAは利きますねー、体感でも速くなったのがハッキリとわかります。
あれ?でも32Bitの方が遅いじゃん(笑)っつー事で16Bit I/OのDMAオンの状態で使う事にしました。
[back]
[top]