memo.xight.org

日々のメモ

LinuxでDMA転送の確認

Summary

hdparm を用いる

# aptitude install hdparm


テスト

# hdparm -t /dev/hda

/dev/hda:
 Timing buffered disk reads: 174 MB in 3.03 seconds = 57.36 MB/sec

ここで,20秒程度かかっているとDMAがOFFになっている可能性がある.

現在の設定を表示する

# hdparm -v /dev/hda

/dev/hda:
 multcount = 0 (off)
 IO_support = 1 (32-bit)
 unmaskirq = 1 (on)
 using_dma = 1 (on)
 keepsettings = 0 (off)
 readonly = 0 (off)
 readahead = 256 (on)
 geometry = 16383/255/63, sectors = 234441648, start = 0


設定一覧

DMA転送オン hdparm -d1 /dev/hdx
DMA転送オフ hdparm -d0 /dev/hdx
16ビットI/Oモード hdparm -c0 /dev/hdx
32ビットI/Oモード hdparm -c1 /dev/hdx

`-X' オプション (HDDが対応していないと危険)

-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)

Reference

ITmedia エンタープライズ : Linux Tips「ハードディスクのアクセスが遅いような気がする」
http://www.itmedia.co.jp/help/tips/linux/l0086.html
Debian パッケージディレクトリ検索 (バイナリ) - hdparm