Fedora Core 4 Tips-HDD DMAモード


HDD(IDE)のDMA転送モード確認と変更

HDDの読み書き速度が遅い、負荷が高くなるなど感じたら転送モードの確認を行ってみるといいでしょう。

  • HDD設定パラメータの確認
    # hdparm /dev/hda
    
    /dev/hda:
     multcount    = 16 (on)
     IO_support   =  0 (default 16-bit)
     unmaskirq    =  0 (off)
     using_dma    =  1 (on)
     keepsettings =  0 (off)
     readonly     =  0 (off)
     readahead    = 256 (on)
     geometry     = 20023/255/63, sectors = 164696555520, start = 0
    ここで注目するのは
    using_dma = 1 (on)
    の箇所。
  • DMA転送モードの設定
    上記はDMAが ON になっているが もし 0(off) になっていたら下記のコマンドで ON にしてみると効果がはっきり現れるでしょう。
    # hdparm -d 1 /dev/hda
    ※-d 0 でoff にできます。
  • DMAをサポートしない場合I/O32bit変更方法
    一部のDMAをサポートしていないHDDはI/Oを 32bit モードに変更すると効果が現れる。
    # hdparm -c 1 /dev/hda
    ※-c 0 で16bitモードに戻せます。

このままでは再起動するとまたDMA Offの状態になってしまうので /etc/rc.d/rc.local に設定を追記する。
テキストエディタで /etc/rc.d/rc.local を開く

# vi /etc/rc.d/rc.local

DMA Onにするコマンドを追記

hdparm -d 1 /dev/hda

参考用に各設定パラメータを一覧に

DMA転送オンhdparm -d1 /dev/hdx
DMA転送オフhdparm -d0 /dev/hdx
16ビットI/Oモードhdparm -c0 /dev/hdx
32ビットI/Oモードhdparm -c1 /dev/hdx
オプション内容
-A先読みを行う(-A 0:無効、-A 1:有効)
-a先読みセクタ数のチェック
-c32ビットI/O制御(-b 0:16ビット、-b 1:32ビット)
-dDMA転送モード(-c 0:無効、-c 1:有効)
-fバッファキャッシュのフラッシュを行う
-gディスクジオメトリの表示をする
-iディスク情報の表示をする
-mマルチセクタI/Oサポート
-pPIO転送モード制御(-p 0 から -p 5 まで)
-t転送スピードの測定を行う
-v現在の設定を確認する
-X各モード指定を行う。パラメータは以下の通り
注意:未対応ドライブでは壊す恐れがあるため使用は各自の責任で行うこと
-X08 : PIOモード0
-X09 : PIO モード1
-X10 : PIOモード2
-X11 : PIOモード3
-X12 : PIOモード4
-X16 : シングルワードDMAモード0
-X17 : シングルワードDMAモード1
-X18 : シングルワードDMAモード2
-X32 : マルチワードDMAモード0
-X33 : マルチワードDMAモード1
-X34 : DMAモード2
-X67 : UDMAモード3
-X66 : UDMAモード2(Ultra ATA33)
-X68 : UDMAモード4(Ultra ATA66)
-X69 : UDMAモード5(Ultra ATA100)
-X70 : UDMAモード6(Ultra ATA133)


Last-modified: 2015-04-22 (水) 17:28:54 (947d)