关于开启DMA...

关于开启DMA...

现在,我每次开机后的第一件事情就是su一下,执行

hdparm -d 1 -c 1 -k 1 /dev/hda

来开启硬盘的DMA(我的是UDMA5)...

有没有什么方法可以使他在开机时自动完成呢??是在init里面加一行么???

顺便问一句,怎么编写shell脚本呢???有没有啥书呀??

我想把汉化的过程给shell一下...(野心好吓人呀!!)
应该不需要敲命令,修改一下/etc/sysconfig/harddisks文件就可以打开DMA。我的RH8.0是这样的。USE_DMA=1  MULTIPLE_IO=16  EIDE_32BIT=3  EXTRA_PARAMS=-X69
/etc/rc.d/rc.local 最後面加上一行 /sbin/hdparm -d1 -c3 -m16 -X69 /dev/hda
/etc/rc.d/rc.local 最後面加上一行 /sbin/hdparm -d1 -c3 -m16 -X69 /dev/hda

我是用hdparm -c3 -d1 /dev/hda


-m16 -X69
,是什么意思啊!
# These options are used to tune the hard drives -
# read the hdparm man page for more information

# Set this to 1 to enable DMA. This might cause some
# data corruption on certain chipset / hard drive
# combinations. This is used with the "-d" option

# USE_DMA=1

这里是/etc/sysconfig/harddisks文件中摘下的,不要轻易使用dma.要弄清楚为什么要使用才行.
[quote:5431bc213b="powerme"]/etc/rc.d/rc.local 最後面加上一行 /sbin/hdparm -d1 -c3 -m16 -X69 /dev/hda

我是用hdparm -c3 -d1 /dev/hda


-m16 -X69
,是什么意思啊![/quote]

m16 :改变硬盘的多路扇区的读功能,-m16可以使得硬盘一次读入16个扇区的数据。但是不是所有的硬盘都支持这个功能。使用hdparm -i /dev/hda 可以察看您的硬盘最大能读写的扇区数目

-X69:使用DMA100
可以使得硬盘一次读入16个扇区的数据


DMA modes:  mdma0 mdma1 mdma2
UDM modes:  udme0 udma1 udma2 udma3 udma4  *udma5

是使用了udma5 吗??
它是什么模式??
红帽9中没有这条命令!
[quote:03f2afabf2="hgkrt"]现在,我每次开机后的第一件事情就是su一下,执行

hdparm -d 1 -c 1 -k 1 /dev/hda

来开启硬盘的DMA(我的是UDMA5)...

有没有什么方法可以使他在开机时自动完成呢??是在init里面加一行么???
[/quote]

应该没必要的,系统自动会识别

你在执行上面这行命令前先执行一下hdparm /dev/hda显示当前的状态,执行后再显示一下

比较两个结果有什么不同就知道了
建议在不了解详细参数时,不要随便改,让系统自己识别吧。可以看一下/proc/dma,里面就是目前的dma级(不要试图改这个文件来达到改dma目的)。