Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 硬碟 DMA/UDMA 模式啟用指南:免編譯內核輕鬆提升 I/O 效能

編輯:Linux 教學

為何啟用 DMA?

DMA(直接記憶體存取)讓硬碟控制器直接搬移資料至記憶體,大幅降低 CPU 佔用。RedHat 安裝預設關閉 DMA,重新編譯內核雖可啟用但門檻過高,本文提供免編譯方案。

步驟一:確認現狀

# 檢查 /proc/ide/hda/settings 中 using_dma 值
# 1 = 已啟用,0 = 未啟用

# 查看硬碟支援模式
hdparm -i /dev/hda
# 輸出範例:
# DMA modes: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 *udma4
# 星號 (*) 表示當前使用模式

步驟二:啟用 DMA 兩種方法

方法 1:LILO 內核參數(永久生效)

編輯 /etc/lilo.conf,在 append 行加入:

append="ide0=dma ide1=dma"
# 或指定具體硬碟:ide0=dma, ide1=dma (0-3 對應四個 IDE 設備)

執行 /sbin/lilo 更新 MBR,重啟生效。

方法 2:hdparm 即時啟用 + 開機腳本固化

# 即時啟用
hdparm -d1 /dev/hda

# 寫入開機腳本永久生效
echo "hdparm -d1 /dev/hda" >> /etc/rc.d/rc.local

步驟三:關閉 DMA(罕見需求)

hdparm -d0 /dev/hda

UDMA 進階注意事項

  • 硬碟、控制器、80芯 IDE 線纜三者必須同步支援 UDMA
  • 啟用方式同 DMA,hdparm -X 可指定具體 UDMA 模式(如 -X69 對應 UDMA4)
  • 若硬體不支援強行啟用會導致資料損毀或系統不穩

驗證成效

hdparm -tT /dev/hda
# 執行前後對比緩存讀取與磁碟讀取速度,DMA 模式通常提升 3-5 倍

免編譯內核即可釋放硬碟效能,建議所有 IDE 硬碟用戶檢查並啟用。

Copyright © Windows教程網 All Rights Reserved