hgkrt 发表于 2002-12-11 08:42:56

关于开启DMA...

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

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

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

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

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

我想把汉化的过程给shell一下...(野心好吓人呀!!)

hs_ok 发表于 2002-12-12 19:24:19

应该不需要敲命令,修改一下/etc/sysconfig/harddisks文件就可以打开DMA。我的RH8.0是这样的。USE_DMA=1MULTIPLE_IO=16EIDE_32BIT=3EXTRA_PARAMS=-X69

cnhnln 发表于 2002-12-12 21:08:01

/etc/rc.d/rc.local 最後面加上一行 /sbin/hdparm -d1 -c3 -m16 -X69 /dev/hda

powerme 发表于 2003-6-21 16:06:50

/etc/rc.d/rc.local 最後面加上一行 /sbin/hdparm -d1 -c3 -m16 -X69 /dev/hda

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


-m16 -X69
,是什么意思啊!

xdwjack 发表于 2003-6-21 16:41:38

# 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.要弄清楚为什么要使用才行.

cnhnln 发表于 2003-6-21 20:09:50

/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

powerme 发表于 2003-6-21 20:34:46

可以使得硬盘一次读入16个扇区的数据


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

是使用了udma5 吗??
它是什么模式??

coffeeboy 发表于 2003-6-22 06:56:03

红帽9中没有这条命令! :cry:

redhat71 发表于 2003-6-22 07:19:59

Re: 关于开启DMA...

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

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

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

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


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

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

比较两个结果有什么不同就知道了

chg1226 发表于 2003-6-23 10:57:47

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

redhat71 发表于 2003-6-23 11:12:07

这个文件不是关于硬盘的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测试来比较结果,得到的答案是默认值就是优化值

cnhnln 发表于 2003-6-24 22:59:50

可以使得硬盘一次读入16个扇区的数据


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

是使用了udma5 吗??
它是什么模式??

是的,使用了
UDMA5 (Ultra ATA100)
页: [1]
查看完整版本: 关于开启DMA...