QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1116|回复: 10

请教各位高手,硬盘打开DMA支持的问题。

[复制链接]
发表于 2004-4-27 22:24:15 | 显示全部楼层 |阅读模式
我的系统装的是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呢?难道我修改的不正确?还请各位高手指点迷津。谢谢
发表于 2004-4-28 02:35:12 | 显示全部楼层
比较一下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2004-4-28 09:06:44 | 显示全部楼层
楼上的现什么现啊,原意帮人家解决问题就把方法写下来,不原意帮人就算了,也没有人逼你,不就是打开了DMA吗?有什么好炫耀的,最恨你这种鸟人!
回复

使用道具 举报

 楼主| 发表于 2004-4-28 18:38:10 | 显示全部楼层
大哥啊,我问的是我在修改/etc/rc.d/rc.local是不是正确想问为什么无法自动打开DMA,并不想要知道如何在shell中如何打开DMA的方法,那个我会的。不过还是很感谢你能给我回帖,谢谢
回复

使用道具 举报

发表于 2004-4-29 19:57:21 | 显示全部楼层
关心这个。我也想知道。/etc/sysconfig/harddisk 这个冬冬我看了半天。man hdparm也瞅了一会。。。每懂
回复

使用道具 举报

发表于 2004-4-29 19:59:18 | 显示全部楼层
对了。楼主几块硬盘?
回复

使用道具 举报

发表于 2004-5-1 03:41:14 | 显示全部楼层
先在终端里运行如下命令。
[root@Mouse_MLinux10 root]# 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)
再打入如下:
[root@Mouse_MLinux10 root]# kedit /etc/rc.d/rc.local

在rc.local最后加入下句,注意大小写和空格。
/sbin/hdparm -d1 -c3 -X69 -m16 -k1 -q /dev/hda

如还不行将-k1去除。我在RH9试过应该没有问题!
回复

使用道具 举报

发表于 2004-5-1 15:44:42 | 显示全部楼层
在学装debian时,看到时中国科技大学的一个什么人写的一篇文章,里面提到过:
hdparm: Speed up your harddisk.
hwtools: run hdparm on startup
但是好像hwtools不只是这个功能……呵呵,不懂了,我也不会去研究这些东西,能用就行了。
下面是另外不知道谁写的。
对上面这些人表示无限尊敬,对东京的小日本表示无限鄙视。
# 引用开始
經過測試找出最佳設定值後可再安裝 hwtools 幫助開機時做自動設定

[root]# 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 讓開機時自動執行
# 引用结束
回复

使用道具 举报

发表于 2004-5-1 22:32:38 | 显示全部楼层
无语了,windows(晕倒死)了

你不是已经打开了dma模式了吗?

看见

UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5

这一行里的udma5前面那个"*"了吗,你的硬盘已经工作于udma5模式下了!
udma5就是ultra dma 100啊!

现在的硬盘都是ultra dma模式了,谁还用普通的dma模式啊.

一般来说,在编译内核是选择了默认使用dma的话,是用不着再刻意用hdparm去打开dma的,因为启动时就已经打开dma了.
回复

使用道具 举报

发表于 2004-5-1 22:54:31 | 显示全部楼层
dmesg|grep DMA看看启动过程中有DMA字段得相关信息
回复

使用道具 举报

发表于 2004-5-2 09:38:11 | 显示全部楼层
高明。我看看。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-7 10:41 , Processed in 0.052609 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表