关于开启DMA...
现在,我每次开机后的第一件事情就是su一下,执行hdparm -d 1 -c 1 -k 1 /dev/hda
来开启硬盘的DMA(我的是UDMA5)...
有没有什么方法可以使他在开机时自动完成呢??是在init里面加一行么???
顺便问一句,怎么编写shell脚本呢???有没有啥书呀??
我想把汉化的过程给shell一下...(野心好吓人呀!!) 应该不需要敲命令,修改一下/etc/sysconfig/harddisks文件就可以打开DMA。我的RH8.0是这样的。USE_DMA=1MULTIPLE_IO=16EIDE_32BIT=3EXTRA_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.要弄清楚为什么要使用才行. /etc/rc.d/rc.local 最後面加上一行 /sbin/hdparm -d1 -c3 -m16 -X69 /dev/hda
我是用hdparm -c3 -d1 /dev/hda
-m16 -X69
,是什么意思啊!
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中没有这条命令! :cry:
Re: 关于开启DMA...
现在,我每次开机后的第一件事情就是su一下,执行hdparm -d 1 -c 1 -k 1 /dev/hda
来开启硬盘的DMA(我的是UDMA5)...
有没有什么方法可以使他在开机时自动完成呢??是在init里面加一行么???
应该没必要的,系统自动会识别
你在执行上面这行命令前先执行一下hdparm /dev/hda显示当前的状态,执行后再显示一下
比较两个结果有什么不同就知道了 建议在不了解详细参数时,不要随便改,让系统自己识别吧。可以看一下/proc/dma,里面就是目前的dma级(不要试图改这个文件来达到改dma目的)。 这个文件不是关于硬盘的DMA吧?
# more /proc/dma
1: SoundBlaster8
4: cascade
上面没有硬盘相关的东东,但hdparm显示我的硬盘是开启了dma的
# hdparm /dev/hde
/dev/hde:
multcount = 16 (on)
IO_support =0 (default 16-bit)
unmaskirq =0 (off)
using_dma =1 (on)
keepsettings =0 (off)
readonly =0 (off)
readahead =8 (on)
geometry = 2498/255/63, sectors = 40132503, start = 0
# hdparm -i /dev/hde
/dev/hde:
Model=QUANTUM FIREBALLP LM20.5, FwRev=A35.0700, SerialNo=884014767511
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=16383/16/63, TrkSize=32256, SectSize=21298, ECCbytes=4
BuffType=DualPortCache, BuffSize=1900kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=40132503
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
AdvancedPM=no WriteCache=enabled
Drive conforms to: ATA/ATAPI-5 T13 1321D revision 1:1 2 3 4 5
我只知道/etc/sysconfig/harddisks这个文件是有硬盘相关参数的,但从来都不需要设置它(我用的是RHL),因为系统默认就识别了,该启用的各种参数也都启用了
至少在我机上是这样,我手工折腾过一些参数,然后用hdparm -tT测试来比较结果,得到的答案是默认值就是优化值 可以使得硬盘一次读入16个扇区的数据
DMA modes:mdma0 mdma1 mdma2
UDM modes:udme0 udma1 udma2 udma3 udma4*udma5
是使用了udma5 吗??
它是什么模式??
是的,使用了
UDMA5 (Ultra ATA100)
页:
[1]