请教各位高手,硬盘打开DMA支持的问题。
我的系统装的是RH9,我在系统的/etc/rc.d/rc.local这个配置文件的最后一行的地方加了这样的一行,/sbin/hdparm -d 1 -X68 -c 3 -m 16 -k 1 /dev/hda,本希望这样可以在系统启动时自动打开硬盘的DMA支持。我想查看系统是否打开了DMA,由于系统启动时的速度快,我无法查看启动时的信息。于是我在终端里运行命令hdparm /dev/hda,得到的结果是:/dev/hda:multcount = 16 (on)
IO_support =3 (32-bit w/sync)
unmaskirq =0 (off)
using_dma =0 (off)
keepsettings =1 (on)
readonly =0 (off)
readahead =8 (on)
geometry = 4870/255/63, sectors = 78242976, start = 0
说明系统没有打开DMA,之后我运行命令hdparm -i /dev/hda查看我的硬盘的信息,得到的结果是:/dev/hda:
Model=SAMSUNG SV0401H, FwRev=UA100-08, SerialNo=S01RJ10WC54682
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=16383/16/63, TrkSize=34902, SectSize=554, ECCbytes=4
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78242976
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes:pio0 pio1 pio2 pio3 pio4
DMA modes:mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=no WriteCache=enabled
Drive conforms to: (null):1 2 3 4 5 6 7
说明我的硬盘是支持UDMA的可是为什么我已经修改了/etc/rc.d/rc.local文件却无法自动打开DMA呢?难道我修改的不正确?还请各位高手指点迷津。谢谢 比较一下 楼上的现什么现啊,原意帮人家解决问题就把方法写下来,不原意帮人就算了,也没有人逼你,不就是打开了DMA吗?有什么好炫耀的,最恨你这种鸟人! 大哥啊,我问的是我在修改/etc/rc.d/rc.local是不是正确想问为什么无法自动打开DMA,并不想要知道如何在shell中如何打开DMA的方法,那个我会的。不过还是很感谢你能给我回帖,谢谢 关心这个。我也想知道。/etc/sysconfig/harddisk 这个冬冬我看了半天。man hdparm也瞅了一会。。。每懂 对了。楼主几块硬盘? 先在终端里运行如下命令。
# hdparm -d1 -X68 -c3 -m16 /dev/hda
如结果如下,说明系统起动DMA没有问题。
/dev/hda:
setting 32-bit IO_support flag to 3
setting multcount to 16
setting using_dma to 1 (on)
setting xfermode to 68 (UltraDMA mode4)
multcount = 16 (on)
IO_support =3 (32-bit w/sync)
using_dma =1 (on)
再打入如下:
# kedit /etc/rc.d/rc.local
在rc.local最后加入下句,注意大小写和空格。
/sbin/hdparm -d1 -c3 -X69 -m16 -k1 -q /dev/hda
如还不行将-k1去除。我在RH9试过应该没有问题! 在学装debian时,看到时中国科技大学的一个什么人写的一篇文章,里面提到过:
hdparm: Speed up your harddisk.
hwtools: run hdparm on startup
但是好像hwtools不只是这个功能……呵呵,不懂了,我也不会去研究这些东西,能用就行了。
下面是另外不知道谁写的。
对上面这些人表示无限尊敬,对东京的小日本表示无限鄙视。
# 引用开始
經過測試找出最佳設定值後可再安裝 hwtools 幫助開機時做自動設定
# apt-get install hwtools
在 /etc/init.d/hwtools 中的 hdparm optimization 欄內加入設定, 例:
for disk in hda hdb hde hdf
do hdparm -q -d1 -c3 -m16 /dev/$disk
done
echo -n " hdparm"
上面這樣設定在每次開機的時候就會自動執行 hdparm 最佳化硬碟 /dev/hda, /dev/hdb, /dev/hde 及 /dev/hdf
unstable 版的 hdparm 可在 /etc/default/hdparm 內設定參數, 然後用 update-rc.d 讓開機時自動執行
# 引用结束 无语了,windows(晕倒死)了
你不是已经打开了dma模式了吗?
看见
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
这一行里的udma5前面那个"*"了吗,你的硬盘已经工作于udma5模式下了!
udma5就是ultra dma 100啊!
现在的硬盘都是ultra dma模式了,谁还用普通的dma模式啊.
一般来说,在编译内核是选择了默认使用dma的话,是用不着再刻意用hdparm去打开dma的,因为启动时就已经打开dma了. 用dmesg|grep DMA看看启动过程中有DMA字段得相关信息 :wink: 高明。我看看。。
页:
[1]