工作是人生不可或缺的活動,沒有了它就覺得生活好像少了什麼,所以持續地工作到無法工作為止吧!! 不過辛苦工作之餘,也是需要玩樂來調劑身心呢!! ~~有意義的工作即是生活!!~~

星期日, 6月 25, 2006

■ Benchmark Tool - hdparm

Hdparm 這個工具是用來設定 IDE 裝置的,包括如 DMA 模式、傳輸模式設定以及一些其他能改善硬碟及光碟機效能的設定。此工具程式可測試硬碟分別在DMA模式和Normal模式上的分別。

如果您的硬碟是有 DMA 模式功能的,但是系統卻沒有啟動他,那麼您的硬碟存取效能可能會降低一半以上。所以可以用 hdparm 啟動 DMA! 不過 hdparm 裡頭有很多很進階的參數設定值,一般來說不很建議隨意修訂,很容易造成硬碟掛點! 因此用這個指令時,最多是啟動 DMA 模式,以及測試硬碟的存取效能即可。 假設使用的 Linux 中沒有包含這個軟件,可從 ftp://metalab.unc.edu/pub/Linux/system/hardware 查找。

[root@linux ~]# hdparm [-icdmXTt] 磁碟裝置名稱

參數說明:
-i:
系統在開機的過程當中,會利用本身核心的驅動程式(模組)來測試硬碟,利用 -i 參數,可將這些測試值取出來,這些值不一定正確,僅做為提供一個參考值!

-c:
設定 32-bit (32位元)存取模式。這個 32 位元存取模式指的是在硬碟在與 PCI 介面之間傳輸的模式,而硬碟本身是依舊以 16 位元模式在跑得!預設的情況下,這個設定值都會被打開,建議直接使用 c1 即可!

-d:
設定是否啟用 dma 模式, -d1 為啟動, -d0 為取消;

-m:設定同步讀取多個 sector 的模式。一般來說,設定此模式,可降低系統因為讀取磁碟而損耗的效能,一般來說設定為 16/32 是最佳化,不過 WD 硬碟建議值則是 4/8。這個值的最大值,可以利用 hdparm -i /dev/hda 輸出的 MaxMultSect 來設定!一般如果不曉得,設定 16 是合理的!

-X:
設定 UtraDMA 的模式,一般來說 UDMA 的模式值加 64 即為設定值。而且硬碟與主機板晶片必須要同步,所以取最小的那個。一般來說:
33 MHz DMA mode 0~2 (X64~X66)
66 MHz DMA mode 3~4 (X67~X68)
100MHz DMA mode 5 (X69)

-T:測試暫存區 cache 的存取效能

-t:測試硬碟的實際存取效能(較正確!)

參考來源:鳥哥的 Linux 私房菜
http://linux.vbird.org/linux_basic/0230filesystem.php#hdparm

其它參考:
http://wiki.gentoo.tw/mediawiki/index.php/Hdparm
http://support.intel.com/support/tw/graphics/sb/CS-010515.htm
http://www.ibiblio.org/pub/linux/system/hardware/
ftp://metalab.unc.edu/pub/Linux/system/hardware/


【使用hdparm改善Linux系統性能】

如果你的Linux系統用於IDE硬碟,則可以使用 hdparm 工具來提升磁片I/O 的性能。不過使用hdparm要小心,因為有可能會損壞硬碟。所以在使用hdparm之前,仔細閱讀你的硬碟手冊。根據你實際硬碟規格來使用相應的 hdparm 開關參數。對一塊 Ultra ATA/66 EIDE 硬碟,其控制晶片支持多 PIO 模式和DMA,可以使用以下命令來調整磁碟效能︰ # /sbin/hdparm -x66 -d1 -u1 -m16 -c3 /dev/hda

選項說明︰
-c3︰
就是把硬碟的16位格式轉換為32位模式(32-bit mode w/sync)。控制數據如何從pci匯流排傳遞到控制單元。

-m16 ︰改變硬碟的多重磁區的讀功能,-m16可以使得硬碟在一次i/o中斷中讀入16個磁區的數據(據實際硬碟而定)。

-d1︰打開 DMA 模式。

-x66︰在支援 UDMA-capable 的硬碟中,這個參數可以支持雙DMA通道的數據傳輸模式。

-u1 ︰Linux在處理磁片中斷時,可以 unmask 其他的中斷或者附應其他中斷相關的任務。


查看以上的更改情況可以使用以下指令︰
# /sbin/hdparm /dev/hda

測試磁片I/O性能可以使用以下指令︰
# /sbin/hdparm -tT /dev/hda

如果磁碟效能有改進的話,可以使用以下指令來保存設置︰
# /sbin/hdparm -k1 /dev/hda

沒有留言: