作者:游荣
Linux下的32位I/O和DMA默认是关闭的,可是现在计算机的硬盘不会那么落伍吧!Linux好是好,但假如用的是16位I/O的话,计算机的性能就无法得到充分发挥,你心里一定会觉得很冤!没关系,跟我来吧。
要打开32位I/O和DMA,需要以Root身份进行设置。为了降低因出错而重启系统对文件系统的损害,最好以单用户模式进行。可以先用下面的命令检查硬件驱动器的I/O情况。 #hdparm -t /dev/hda 屏幕显示如下: /dev/hda: Timing buffered disk reads:64MB in 30.93 seconds=2.07MB/sec 假如要显示当前I/O、DMA配置,命令分别如下: #hdparm -c /dev/had (注:显示I/O配置命令) 屏幕显示如下: /dev/hda: I/O support=0(16bit) # hdparm -d /dev/had (注:显示DMA配置命令) 屏幕显示如下: /dev/hda: using_dma=0(off) 在确定32位I/O和DMA是关闭的以后,用下面的命令将其打开: #hdparm -c 1 /dev/hda (注:打开32位I/O的命令) 屏幕显示如下: /dev/hda: setting 32-bit I/O support flag to 1 I/O support= 1 (default 16-bit) #hdparm -d 1 /dev/had (注:打开DMA的命令) 屏幕显示如下: /dev/hda: setting using_dma to 0(on) hda:DMA inabled using_dma=1 (on) 然后执行下面的命令以使配置生效: #hdparm -k 1 /dev/hda 屏幕显示如下: /dev/hda: setting keep_settings to 1(on) keepsettings=1(on) 然后,可以再用命令:hdparm -t /dev/hda 来看看效果: /dev/hda: Timing buffered disk reads:64MB in 14.53 seconds=4.40MB/sec 怎么样,性能提高了一倍多! 上面的方法,可以实现在一次开机中生效,而下一次开机又要重新设置。假如要实现每一次开机时都生效,应该在档/etc/rc.d/rc.local的结尾加入以下命令:hdparm -c 1 -d 1 -k 1 /dev/hda,它可以使设置在每次重新激活系统时生效。