痞酷網_PIGOO

 找回密碼
 立即註冊
!!! [系統偵測到廣告阻擋軟體] !!!

如果您覺得痞酷網對您有些許幫助,或者您認同痞酷網的理想,

那麼希望您將痞酷網設定為白名單.

並請在上論壇的時候,動動您的手指,用行動支持我們.

謝謝!
查看: 6144|回復: 0

Linux&DMA

[複製鏈接]
發表於 2007-11-30 05:36:12 | 顯示全部樓層 |閱讀模式
一般Linux裝完之後是不是像Windows那樣自動開啟DMA的,有跟我一樣使用Linux的看倌可以試一下︰
  
/etc/rc.d/rc.local 最後面加上一行 /sbin/hdparm -d1 -c3 -m16 /dev/hda 這樣每次開機後,硬碟的 DMA 就會開啟,不必每次手動設定。

  如果您的硬碟機支援 ATA33 可以加上 -X66 這個參數,ATA66則是 -X68,像我的硬碟是 ATA66 那麼完整參數就是 /sbin/hdparm -d1 -X68 -c3 -m16 /dev/hda 經過我的測試 ,在 DMA 未開啟以前,實際讀取效率是每秒約 4.10 Mb 左右,開啟 DMA 後,每秒實際讀取效率躍升為 20 Mb 大約提昇 5 倍之多。

§未開啟 DMA 時的測試

[root@abc /root]# hdparm -d0 /dev/hda

/dev/hda:

setting using_dma to 0 (off)
using_dma = 0 (off)

[root@abc /root]# hdparm -Tt /dev/hda

/dev/hda:

Timing buffer-cache reads: 128 MB in 2.75 seconds = 46.55 MB/sec
Timing buffered disk reads: 64 MB in 15.58 seconds = 4.11 MB/sec

§開啟 DMA 後的測試結果

[root@abc /root]# hdparm -d1 -X68 -c3 -m16 /dev/hda

/dev/hda:

setting 32-bit I/O support flag to 3
setting multcount to 16
setting using_dma to 1 (on)
setting xfermode to 68 (UltraDMA mode4)
multcount = 16 (on)
I/O support = 3 (32-bit w/sync)
using_dma = 1 (on)

[root@abc /root]# hdparm -Tt /dev/hda

dev/hda:

Timing buffer-cache reads: 128 MB in 2.75 seconds = 46.55 MB/sec
Timing buffered disk reads: 64 MB in 3.20 seconds = 20.00 MB/sec

由以上的數據,可以看得出來,硬碟 DMA 是否開啟,對讀取效率影響很大。
如果是ATA100可以用這個︰hdparm -X69 -> UDMA 5 (ATA 100)100MB/sec
我不是每一種主機板南北橋都試過,我只試過Intel的晶片組,還有開啟DMA只對IDE硬碟有效,對SCSI硬碟是無效的。
您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

關閉

站長小叮嚀上一條 /1 下一條

禁閉室|手機版|連繫我們|痞酷網電子技術論壇

GMT+8, 2024-12-22 09:49 AM , Processed in 0.044468 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.