我是使用一台淘汰的电脑做测试, 软硬件环境如下
硬件系统:
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) |