Chinaunix首页 | 论坛 | 博客
  • 博客访问: 226635
  • 博文数量: 171
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 1795
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-15 14:01
文章分类

全部博文(171)

文章存档

2010年(1)

2009年(168)

2008年(2)

我的朋友

分类: LINUX

2009-01-20 21:52:30

我是使用一台淘汰的电脑做测试, 软硬件环境如下
 
硬件系统:
CPU Celeron 1G
Board 815E/URTRA DMA 100/66/33
RAM  SDRAM 384M
Hard Maxtor 6Y120P0/120G/ATA133
 
OS: CentOS 5.2 / Linux CentOS 2.6.18-92.1.22.el5
 
据说hdparm 可以通过改变 multcount / IO_suport / udma等参数来提高ide硬盘的性能
 
以下加以验证
1. 通过 hdparm -i /dev/hda 查看硬盘参数
 
[root@CentOS mnt]# hdparm -i /dev/hda
/dev/hda:
 Model=Maxtor 6Y120P0, FwRev=YAR41BW0, SerialNo=Y34EGXVE
 Config={ Fixed }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
 BuffType=DualPortCache, BuffSize=7936kB, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=240121728
 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 udma6
 AdvancedPM=yes: disabled (255) WriteCache=enabled
 Drive conforms to: ATA/ATAPI-7 T13 1532D revision 0:  ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7
 * signifies the current active mode
 
可以查看硬盘的型号,fireware的版本,序列号等, 而且可以查看硬盘最大支持multcount是多少,MaxMultSect=16,我的硬盘最大支持是16部分传输,通过这个参数的设定可以减少对CPU的频繁访问,提高CPU的效能,可以查到当前使用的UDMA modes:*udma5 ,udma5为ATA100M,这个参数刚好达到我的主板的最高支持频率。
 
可以通过 hdparm -v /dev/hda 查看相关当前使用硬盘的性能参数
 
[root@CentOS mnt]# hdparm -v /dev/hda
/dev/hda:
 multcount    = 16 (on) #多部分传输时打开的
 IO_support   =  0 (default 16-bit) #IO为16位
 unmaskirq    =  0 (off)
 using_dma    =  1 (on) #已经打开DMA模式
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 65535/16/63, sectors = 240121728, start = 0
 
使用 hdparm -Tt /dev/hda 测试当前硬盘性能
 
[root@CentOS mnt]# hdparm -Tt /dev/hda
/dev/hda:
 Timing cached reads:   448 MB in  2.01 seconds = 222.79 MB/sec
 Timing buffered disk reads:  166 MB in  3.01 seconds =  55.07 MB/sec
 
3. 使用IO改为32bit
 
[root@CentOS mnt]# hdparm -c3 /dev/hda
/dev/hda:
 setting 32-bit IO_support flag to 3
 IO_support   =  3 (32-bit w/sync)
 
[root@CentOS mnt]# hdparm -v /dev/hda
/dev/hda:
 multcount    = 16 (on)
 IO_support   =  3 (32-bit w/sync)
 unmaskirq    =  0 (off)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 65535/16/63, sectors = 240121728, start = 0
 
使用 hdparm -Tt /dev/hda 测试更改后硬盘性能
 
[root@CentOS mnt]# hdparm -Tt /dev/hda
/dev/hda:
 Timing cached reads:   448 MB in  2.01 seconds = 223.42 MB/sec
 Timing buffered disk reads:  170 MB in  3.02 seconds =  56.38 MB/sec
 
比较前后各项更改参数, 性能得到些许的提高,究其原因瓶颈在我的主板
 
因为我的主板为较旧的815E主板,只支持最大大ATA100 (即udma5) ,影响了硬盘的IO性能
 
我的硬盘 Maxtor 6Y120P0是支持ATA133(即udma6),若以后更好主板后测试才好做比较
 
^_^
 
                                                        by GDLWX
                                                        2009.1.20
 
阅读(1251) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~