欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

让你的并口硬盘工作在UltraDMA 100和UltraDMA 133下

程序员文章站 2024-01-19 19:11:40
让你的并口硬盘工作在UltraDMA 100和UltraDMA 133下现在的主板和硬盘都支持UltraDMA 100,老点的主板如VIA 693,Intel 810芯片组主板只支持UltraDMA 66,但VIA 694和Intel 815以后芯片主板都支持UltraDMA 100,有些VIA 芯片主板甚至支持... 09-04-21...
现在的主板和硬盘都支持ultradma 100,老点的主板如via 693,intel 810芯片组主板只支持ultradma 66,但via 694和intel 815以后芯片主板都支持ultradma 100,有些via 芯片主板甚至支持ultradma 133,在主板、硬盘和数据连接排线都能支持相应标准的前提下,我们可以通过以下命令让硬盘工作在相应的模式下,加快linux的运行速度。具体大家查找命令参数

1) 命令:hdparm -d1x66 -m16 -c3 -k1 /dev/hda
setting xfermode to 66 (ultradma mode2,ultradma 66)

2) 命令:hdparm -d1x68 -m16 -c3 -k1 /dev/hda
setting xfermode to 68 (ultradma mode4,ultradma 66)

3) 命令:hdparm -d1x69 -m16 -c3 -k1 /dev/hda
setting xfermode to 69 (ultradma mode5,ultradma 100)

4) 命令:hdparm -d1x70 -m16 -c3 -k1 /dev/hda
setting xfermode to 70 (ultradma mode6 ultradma 133)

如本人计算机:
[root@l ~]#uname -a
linux l.myhome 2.6.9 thu feb 8 00:18:10 cst 2007 i686 i686 i386 gnu/linux

[root@l ~]#hdparm -d1x69 -m16 -c3 -k1 /dev/hda

/dev/hda:
setting 32-bit io_support flag to 3
setting multcount to 16
setting using_dma to 1 (on)
setting keep_settings to 1 (on)
setting xfermode to 69 (ultradma mode5)
multcount = 16 (on)
io_support = 3 (32-bit w/sync)
using_dma = 1 (on)
keepsettings = 1 (on)

[root@l ~]#hdparm -i /dev/hda

/dev/hda:

model=maxtor 5t030h3, fwrev=tah71dp0, serialno=t3h2k61c
config={ fixed }
rawchs=16383/16/63, trksize=0, sectsize=0, eccbytes=57
bufftype=dualportcache, buffsize=2048kb, maxmultsect=16, multsect=16
curchs=16383/16/63, cursects=16514064, lba=yes, lbasects=60030432
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当前硬盘工作模式,ata 100
advancedpm=yes: disabled (255) writecache=enabled
drive conforms to: ata/atapi-6 t13 1410d revision 0:

* signifies the current active mode

以上命令中的1)和2)都可以放在/etc/rc.local文件最后自动加载,但3)和4)放在那里好象有点问题,我没其他好方法,只好让系统进入桌面时自动加载,做法是在/usr/share/autostart文件夹建立一个自动启动文件harddisk.desktop,里面的内容为:
[desktop entry]
comment[zh_cn]=硬盘加速
exec=hdparm -d1x69 -m16 -c3 -k1 /dev/hda
icon=cache
name=autorun
name[zh_cn]=硬盘加速
type=application


至于这个文件的图标,你自己喜欢什么就选什么吧,呵呵




今天又实验了一下2.6.20内核,发现内核自动判断驱动器工作模式,hdparm命令有些参数变得失效,算内核的一个小进步吧。
[root@l ~]#uname -a
linux l.myhome 2.6.20 thu feb 8 00:18:10 cst 2007 i686 i686 i386 gnu/linux

[root@l ~]#hdparm -d1x66 -m16 -c3 -k1 /dev/hda
设置硬盘工作在dma 66模式

/dev/hda:
setting 32-bit io_support flag to 3
setting multcount to 16
setting using_dma to 1 (on)
hdio_set_dma failed: operation not permitted,设置硬盘dma工作模式:操作不允许,命令参数无效
setting keep_settings to 1 (on)
setting xfermode to 66 (ultradma mode2)
multcount = 16 (on)
io_support = 3 (32-bit w/sync)
using_dma = 0 (off)
keepsettings = 1 (on)
[root@l ~]#hdparm -i /dev/hda

/dev/hda:

model=maxtor 5t030h3, fwrev=tah71dp0, serialno=t3h2k61c
config={ fixed }
rawchs=16383/16/63, trksize=0, sectsize=0, eccbytes=57
bufftype=dualportcache, buffsize=2048kb, maxmultsect=16, multsect=16
curchs=16383/16/63, cursects=16514064, lba=yes, lbasects=60030432
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还是工作在dma100
advancedpm=yes: disabled (255) writecache=enabled
drive conforms to: ata/atapi-6 t13 1410d revision 0:

* signifies the current active mode