首页 | 博客群 | 公社 | 专栏 | 论坛 | 图片 | 资讯 | 注册 | 帮助 | 博客联播 | 随机访问
升级到Ubuntu 7.10- -| 回首页 | 2007年索引 | - -compiz fusiong下终端不显之迷

Ubuntu 7.10中使用hdparm给硬盘提速

关键词Ubuntu    7.10    硬盘    hdparm                                          

  使用hdparm工具可以调整IDE硬盘性能,它设计时专门考虑了使用UDMA驱动器。在缺省情况下,linux使用是最安全的,但是设置访问IDE驱动器是最慢的。缺省模式没有利用UDMA可能的最快的性能。
  使用hdparm工具,通过激活下面的特性可以显著地改善性能:
  ◆ 32位支持 缺省设置是16位;
  ◆ 多部分访问 缺省设置是每次中断单部分传送。
  注意:在使用hdparm之前,确保对系统已经做了完全的备份。使用hdparm改变IDE参数,如果出错可能会引起驱动器上全部数据的丢失。
  hdparm可以提供关于硬盘的大量信息。打开一个终端窗口,输入下面命令获取系统中第一个IDE驱动器的信息(改变设备名获取其它IDE驱动器的信息):
  hdparm -v /dev/hdd

/dev/hdd:
 multcount     =  0 (off)
 IO_support    =  1 (32-bit)
 unmaskirq     =  1 (on)
 using_dma     =  1 (on)
 keepsettings  =  0 (off)
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 16383/255/63, sectors = 78165360, start = 0

  上面命令显示出当系统启动时从驱动器获得的信息,包括驱动器操作在16位或32位模式(I/O Support)下,是否为多部分访问(Multcount)。关于磁盘驱动器的更详细信息的显示可使用-i参数。
测试硬盘参数:
        sudo hdparm -i /dev/hdd

/dev/hdd:

 Model=ST340014A, FwRev=8.01, SerialNo=5JXCWWPF
 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=no WriteCache=enabled
 Drive conforms to: ATA/ATAPI-6 T13 1410D revision 2:  ATA/ATAPI-1,2,3,4,5,6

 * signifies the current active mode


Hdparm也可以测试驱动器传输速率。输入命令测试系统中第一个IDE驱动器:

  hdparm -Tt /dev/hdd

  /dev/hdd:
 Timing cached reads:   702 MB in  2.00 seconds = 350.31 MB/sec
 Timing buffered disk reads:   74 MB in  3.00 seconds =  24.64 MB/sec


改变驱动器设置,激活32位传输,输入下面的命令:

  hdparm -c1 /dev/hdd

/dev/hdd:
 setting 32-bit IO_support flag to 1
 IO_support    =  1 (32-bit)

-c1参数可激活32位支持并使用更少的内存开销,但是在很多驱动器下它不工作。-c3参数也可激活32位支持,使用-c0可以取消它。
  大多数新IDE驱动器支持多部分传输,但是linux缺省设置为单部分传输。注意:这个设置在一些驱动器上,激活多部分传输能引起文件系统的完全崩溃。这个问题大多数发生在较老的驱动器上。输入下面的命令激活多部分传输:

  hdparm -m16 /dev/hdd

/dev/hdd:
 setting multcount to 16
 multcount     = 16 (on)

  -m16参数激活16部分传输。除了西部数据的驱动器外,大多数驱动器设置为16或32部分是最合适的。西部数据的驱动器缓冲区小,当设置大于8部分时性能将显著下降。对西部数据驱动器来说,设置为4部分是最合适的。

使用X 设定 UtraDMA 的模式。一般来说,UDMA 的模式值加64就可以了。

      hdparm -X69 /dev/hdd

/dev/hdd:
 setting xfermode to 69 (UltraDMA mode5)


至此我设置的命令包括参数是为:
sudo hdparm -c1 -m16 -X69 /dev/hdd

完毕后使用如下命令保存设置:
sudo hdparm -k1 /dev/hdd

再次测试硬盘传输速度:
sudo hdparm -tT /dev/hdd

/dev/hdd:
 Timing cached reads:   728 MB in  2.00 seconds = 363.33 MB/sec
 Timing buffered disk reads:   84 MB in  3.03 seconds =  27.71 MB/sec

可以看到,速度有了一定的改善了。

【作者: 于仁颇黎】【访问统计:】【2007年11月15日 星期四 20:27】【注册】【打印

搜索

Google

Trackback

你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=6532414

回复

验证码:   
评论内容: