在Linux下開啟32位I/O和DMA(轉)

ba發表於2007-08-12
在Linux下開啟32位I/O和DMA(轉)[@more@]   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,它可以使設定在每次重新啟動系統時生效。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-949854/,如需轉載,請註明出處,否則將追究法律責任。

相關文章