打开DMA支持

OOo,TeX,KO,ABI,GIMP,Picasa,ProE,QCAD,Inkscape,Kicad,Eagle
回复
头像
yonsan
帖子: 887
注册时间: 2005-07-01 18:56
来自: 广州市
送出感谢: 0
接收感谢: 3 次

打开DMA支持

#1

帖子 yonsan » 2005-07-29 1:12

以下针对偶的破本本!
Intel芯片( 500MHZ + 128SDRAM + 20G)
ubuntu5.04( linux-686 + gnome )

开启硬盘DMA支持
(本方法可能不适用于AMD芯片,内容仅供参考)

以下先来测试一下看看未打开DMA功能与打开DMA的数据传送速度差别!

如果硬盘机支持 ATA33 可以加上 -X66 这个参数,ATA66则是 -X68,
我的硬盘是 ATA33 那么完整参数就是 /sbin/hdparm -d1 -X66 -c3 -m16 /dev/hda

>>>>>>>>>>>>>>>>>未打开DMA功能的测试结果>>>>>>>>>>>>>>>>>>>>>>

代码: 全选

$ sudo hdparm -d0 /dev/hda


/dev/hda:
setting using_dma to 0 (off)
using_dma = 0 (off)

代码: 全选

$ sudo hdparm -Tt /dev/hda


/dev/hda:
Timing cached reads: 432 MB in 2.01 seconds = 215.07 MB/sec
Timing buffered disk reads: 14 MB in 3.24 seconds = 4.32 MB/sec

>>>>>>>>>>>>>>>>>>>打开DMA功能的测试结果>>>>>>>>>>>>>>>>>>>>>>

代码: 全选

$ sudo hdparm -d1 -X66 -c3 -m16 /dev/hda


/dev/hda:
setting 32-bit IO_support flag to 3
setting multcount to 16
setting using_dma to 1 (on)
setting xfermode to 66 (UltraDMA mode2)
multcount = 16 (on)
IO_support = 3 (32-bit w/sync)
using_dma = 1 (on)

代码: 全选

$ sudo hdparm -Tt /dev/hda


/dev/hda:
Timing cached reads: 436 MB in 2.00 seconds = 217.49 MB/sec
Timing buffered disk reads: 58 MB in 3.09 seconds = 18.77 MB/sec

测试结果表明打开DMA功能数据传送速度确实有提升了不少!

系统安装完毕後,硬盘的 DMA 是没有打开的.
我的方法是:
修改/etc/modules 在ide-cd前增加 piix 与 ide-core两项

贴一下偶的/etc/modules文件内容

代码: 全选

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

#
# 打开DMA功能,加速linux系统!
# 由于偶使用Intel CPU 所以加入以下内容
#
piix
ide-core

###############################################################################
# 以下为原来的部分
ide-cd
ide-disk
ide-generic
lp
mousedev
psmouse

重新启动。
这样每次开机後,硬盘的DMA就会开启!


未修改/etc/modules文件前的系统硬件信息
运行

代码: 全选

$ dmesg

部分信息如下:
IPv6 over IPv4 tunneling driver
eth1: no IPv6 routers present
hda: DMA disabled
ide0: Speed warnings UDMA 3/4/5 is not functional.
hda: DMA disabled
ide0: Speed warnings UDMA 3/4/5 is not functional.
hda: DMA disabled
ide0: Speed warnings UDMA 3/4/5 is not functional.
hda: DMA disabled
清楚见到没有打开DMA功能

修改/etc/modules文件重启后的系统硬件信息
运行

代码: 全选

$ dmesg

Probing IDE interface ide0...
hda: IC25N020ATMR04-0, ATA DISK drive
elevator: using anticipatory as default io scheduler
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: max request size: 1024KiB
hda: 39070080 sectors (20003 MB) w/1740KiB Cache, CHS=16383/255/63, UDMA(33)
hda: cache flushes supported
/dev/ide/host0/bus0/target0/lun0: p1 p2 p3 < p5 p6 p7 p8 >
Probing IDE interface ide1...
Probing IDE interface ide2...
Probing IDE interface ide3...
Probing IDE interface ide4...
Probing IDE interface ide5...
呵呵,已经打开了DMA功能! 可惜偶的只是UDMA(33)
I will be back!
cscxk
帖子: 81
注册时间: 2005-06-29 22:14
送出感谢: 0
接收感谢: 0

#2

帖子 cscxk » 2005-07-30 9:55

也可以在init.rd中增加一个脚本,加上设置命令,放入相应的rd.x中,这样更灵活
头像
yonsan
帖子: 887
注册时间: 2005-07-01 18:56
来自: 广州市
送出感谢: 0
接收感谢: 3 次

#3

帖子 yonsan » 2005-07-30 10:34

cscxk兄可以具体说说你的方法吗?
I will be back!
maniac
帖子: 138
注册时间: 2005-06-12 1:42
送出感谢: 0
接收感谢: 0

#4

帖子 maniac » 2005-07-30 12:00

系统装完后已经打开了dma, 至少在我机上是这样
头像
hokkee
帖子: 208
注册时间: 2006-04-10 17:44
送出感谢: 0
接收感谢: 0

#5

帖子 hokkee » 2006-04-14 12:44

这样的信息显示是不是说明已经打开DMA?
====
Model=ST340810A, FwRev=3.39, SerialNo=5FBB2MK7
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78165360
IORDY=on/off, tPIO={min:240,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=yes: unknown setting WriteCache=enabled
Drive conforms to: Unspecified: ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6
* signifies the current active mode
====
头像
ssfjhh
帖子: 1289
注册时间: 2007-11-08 21:23
来自: 中国
送出感谢: 0
接收感谢: 0

Re: 打开DMA支持

#6

帖子 ssfjhh » 2008-11-16 17:00

打开之后发现更慢了,又关了,这是为什么呢?
这个功能如何实现?
http://yufanyufan.spaces.live.com/blog/ ... !149.entry
要实现的功能为,若当前标签页为空白页,则在当前页打开,否则新建一个标签页。
头像
www1862
帖子: 781
注册时间: 2006-05-12 0:52
来自: Chongqing China
送出感谢: 0
接收感谢: 0
联系:

Re: 打开DMA支持

#7

帖子 www1862 » 2008-11-16 18:29

/dev/sda:
setting using_dma to 0 (off)
HDIO_SET_DMA failed: Inappropriate ioctl for device
HDIO_GET_DMA failed: Inappropriate ioctl for device


/dev/sda:
Timing cached reads: 1246 MB in 2.00 seconds = 622.96 MB/sec
Timing buffered disk reads: 160 MB in 3.00 seconds = 53.25 MB/sec
我的本本没有打开DMA
头像
ssfjhh
帖子: 1289
注册时间: 2007-11-08 21:23
来自: 中国
送出感谢: 0
接收感谢: 0

Re: 打开DMA支持

#8

帖子 ssfjhh » 2008-11-16 20:32

www1862 写了:/dev/sda:
setting using_dma to 0 (off)
HDIO_SET_DMA failed: Inappropriate ioctl for device
HDIO_GET_DMA failed: Inappropriate ioctl for device


/dev/sda:
Timing cached reads: 1246 MB in 2.00 seconds = 622.96 MB/sec
Timing buffered disk reads: 160 MB in 3.00 seconds = 53.25 MB/sec
我的本本没有打开DMA
哈哈,我的也没有打开,但是比你的快不少。
1246 MB in 2.00 seconds = 622.96 MB/sec
我的这个大概是907
这个功能如何实现?
http://yufanyufan.spaces.live.com/blog/ ... !149.entry
要实现的功能为,若当前标签页为空白页,则在当前页打开,否则新建一个标签页。
anipol
帖子: 1
注册时间: 2008-10-15 22:53
送出感谢: 0
接收感谢: 0

Re: 打开DMA支持

#9

帖子 anipol » 2009-06-23 18:20

我没有打开
mjt ~ # hdparm -Tt /dev/sda

/dev/sda:
Timing cached reads: 1834 MB in 2.00 seconds = 918.15 MB/sec
Timing buffered disk reads: 156 MB in 3.03 seconds = 51.56 MB/sec
回复

回到 “办公、图像、机械电子设计等”