Linux下的32位I/O和DMA默认是关闭的。如果用的是16位I/O的话,就无法充分发挥电脑的性能。
如果要打开32位I/O和DMA,就需要以root身份进行设置。为了降低因出错而重启系统对文件系统的损害,最好以单用户模式进行。
首先,使用下面的命令检查硬盘驱动器的当前I/O情况:
[root@anima lwg]# /sbin/hdparm -t /dev/hda
Timing buffered disk reads: 8 MB in 3.31 seconds = 2.42 MB/sec
如果要显示当前I/O、DMA设置,可以分别使用下面的命令:
[root@anima lwg]# /sbin/hdparm -c /dev/hda (显示当前I/O设置)
IO_support = 0 (default 16-bit)
[root@anima lwg]# /sbin/hdparm -d /dev/hda (显示当前DMA设置)
通过上面的命令,已经知道现在32位I/O和DMA是关闭的,可以分别用下面的命令将其打开:
[root@anima lwg]# /sbin/hdparm -c 1 /dev/hda (打开32位I/O)
etting 32-bit IO_support flag to 1
[root@anima lwg]# /sbin/hdparm -d 1 /dev/hda (打开DMA)
然后使用下面的命令使设置生效:
[root@anima lwg]# /sbin/hdparm -k 1 /dev/hda
好啦!现在再查看一下驱动器的I/O情况:
Timing buffered disk reads: 116 MB in 3.03 seconds = 38.34 MB/sec
可以看到,现在系统的I/O性能提高了很多。
但是,上面的设置只是对当前的系统有效,当再次重启系统时,又得重新设置了。