以下内容主要参考了《Linux Server Hacks》里面的hdparm精细调整IDE驱动器参数。

  下面是我在自己机器上作的一些测试。

  我们使用的Linux在默认情况下,访问IDE设备的时候设置的很保守。这样设置的目的是为了保护数据安全和系统的兼容性,这样可以确保任何硬件都可以被支持(例如386、486等)我们可以通过下面命令查看当前硬盘的性能。

  以下内容主要参考了《Linux Server Hacks》里面的hdparm精细调整IDE驱动器参数下面是我在自己机器上作的一些测试。我们使用的Linux在默认情况下,访问IDE设备的时候设置的很保守。这样设置的目的是为了保护数据安全和系统的兼容性,这样可以确保任何硬件都可以被支持(例如386、486等)我们可以通过下面命令查看当前硬盘的性能:

  

hdparm -Tt /dev/hda

  结果显现如下

  

root@serv1:/# hdparm -Tt /dev/hda  /dev/hda:
  Timing cached reads: 1200 MB in 2.00
 seconds = 600.00 MB/sec  Timing buffered disk
 reads: 76 MB in 3.02 seconds =” ” 25.17 MB/sec

  -T是测试缓存系统。

  -t是报告磁盘的状态,并读取缓存中的数据。

  以上数据是在P4 1.7G/512M 内存/40G IDE的机器上测试的。

  注意:这个测试最好在单用户模式下使用,因为这样可以确保你测试的时候只有你一个人在使用系统,以确保测试准确。再多测试几次取平均值。

  我们再用如下命令看看linux如何对硬盘经行寻址:

  

hdparm /dev/hda

  结果如下

  

/dev/hda:  multcount = 16 (on)
  IO_support =” ” 0 (default 16-bit)
  unmaskirq =” ” 0 (off)  using_dma =” ”
 1 (on)  keepsettings =” ” 0 (off) 
 readonly =” ” 0 (off)  readahead =” ” 8 (on) 
 geometry = 5169/240/63, sectors = 40020664320, start = 0

  我们可以看到,默认情况下使用的还是16位的模式。

  优化使用如下命令:

  

hdparm -m16 -c3 /dev/hda

  这样可以让IO_support工作在32位模式下。我这里测试的结果好像没有提高太多,大家也可以看看自己的结果如何。