計算機硬體

當前位置 /首頁/計算機/計算機硬體/列表

2017最新優化Linux系統硬碟效能方法

所有的檔案系統隨著時間的推移都趨向於碎片化。Linux檔案系統減少了碎片化,但是並沒有消除。由於它不經常出現,所以對於一個單使用者的工作站來說,可能根本不是問題。然而在繁忙的伺服器中,隨著時間的過去,檔案碎片化將降低硬碟效能,硬碟效能只有從硬碟讀出或寫入資料時才能注意到。下面是優化Linux系統硬碟效能的一些具體措施。

2017最新優化Linux系統硬碟效能方法

清理磁碟

這種方法看上去很簡單:清理磁碟驅動器,刪除不需要的檔案,清除所有需要被儲存但將不被使用的檔案。如果可能的話,清除多餘的目錄,並減少子目錄的數目。這些建議似乎顯而易見,但是你會驚訝地發現,每個磁碟上確實積累了非常多的垃圾。釋放磁碟空間可以幫助系統更好地工作。

整理磁碟碎片

Linux系統上的磁碟碎片整理程式與Windows 98或Windows NT系統中的磁碟碎片整理程式不同。Windows 98引入FAT 32檔案系統,雖然執行Windows 98不必轉換為FAT 32檔案系統。Windows可以被設定為使用FAT或一個叫NTFS的增強檔案系統。所有這些檔案系統以本質上相同的方式處理檔案儲存。

Linux最好的整理磁碟碎片的方法是做一個完全的備份,重新格式化分割槽,然後從備份恢復檔案。當檔案被儲存時,它們將被寫到連續的塊中,它們不會碎片化。這是一個大工作,可能對於像/usr之類不經常改變的程式分割槽是不必要的,但是它可以在一個多使用者系統的/home分割槽產生奇蹟。它所花費的時間與Windows NT伺服器磁碟碎片整理花費的時間大致上相同。

如果硬碟效能仍不令人滿意,還有許多其它的步驟可以考慮,但是任何包含升級或購買新裝置的硬體解決方案可能會是昂貴的。

從IDE升級到SCSI

如果你的硬碟是一個IDE驅動器,可以通過升級到SCSI驅動器獲得更好的整體效能。因為IDE控制器必須訪問CPU,CPU和磁碟密集型操作可能變得非常緩慢。SCSI控制器不用通過CPU處理讀寫。當IDE驅動器在讀或寫時,使用者可能會因為CPU週期被IDE驅動器佔用而抱怨系統的緩慢。

獲取更快的控制器和磁碟驅動器

標準的SCSI控制器不能比標準的IDE控制器更快地讀寫資料,但是一些非常快的“UltraWide”SCSI控制器能夠使讀寫速度有一個真正的飛躍。

EIDE和UDMA控制器是非常快的IDE控制器。新的UDMA控制器能夠接近SCSI控制器的速度。UDMA控制器的頂級速度是猝發速度,但持續傳輸的速度明顯慢得多。IDE控制器包括UDMA,是嵌入在驅動器本身中的。不需要購買一個控制器,只要購買一個驅動器,它就包含了控制器,可以獲得UDMA效能。

磁碟驅動器經常忽視的一個方面是磁碟本身的速度。磁碟的速度以rpm為單位給出,它代表每分鐘旋轉多少次。rpm越大,磁碟速度也越快。如果你有這方面的預算,大多數伺服器系統廠商可提供7500rpm甚至10000rpm SCSI磁碟。標準SCSI和IDE磁碟提供5400rpm速度。

使用多個控制器

IDE和SCSI磁碟可以被連結。IDE鏈最多包括兩個裝置,標準SCSI鏈最多包括七個裝置。如果在系統中有兩個或更多SCSI磁碟,很可能被連結到同一個控制器。這樣對大多數操作是足夠的,尤其是把計算機當作單使用者的工作站時。但是如果有一個伺服器,那麼就能夠通過對每個SCSI驅動器提供一個控制器改善效能。當然,好的控制器是昂貴的。

調整硬碟引數

使用Hdparm工具可以調整IDE硬碟效能,它設計時專門考慮了使用UDMA驅動器。在預設情況下,Linux使用是最安全的,但是設定訪問IDE驅動器是最慢的。預設模式沒有利用UDMA可能的最快的效能。

使用Hdparm工具,通過啟用下面的特性可以顯著地改善效能:

32位支援 預設設定是16位;

多部分訪問 預設設定是每次中斷單部分傳送。

注意:在使用Hdparm之前,確保對系統已經做了完全的備份。使用Hdparm改變IDE引數,如果出錯可能會引起驅動器上全部資料的丟失。Hdparm可以提供關於硬碟的大量資訊。開啟一個終端視窗,輸入下面命令獲取系統中第一個IDE驅動器的資訊(改變裝置名獲取其它IDE驅動器的資訊):

Hdparm -v /dev/had

上面命令顯示出當系統啟動時從驅動器獲得的資訊,包括驅動器操作在16位或32位模式(I/O Support)下,是否為多部分訪問(Multcount)。關於磁碟驅動器的更詳細資訊的顯示可使用-i引數。

Hdparm也可以測試驅動器傳輸速率。輸入命令測試系統中第一個IDE驅動器:

Hdparm -Tt /dev/hda

此測試可測量驅動器直接讀和高速緩衝儲存器讀的速度。結果是一個優化的“最好的事例”數字。改變驅動器設定,啟用32位傳輸,輸入下面的命令:

Hdparm -c3 /dev/hda

-c3引數啟用32位支援,使用-c0可以取消它。-c1引數也可啟用32位支援並使用更少的記憶體開銷,但是在很多驅動器下它不工作。

大多數新IDE驅動器支援多部分傳輸,但是Linux預設設定為單部分傳輸。注意:這個設定在一些驅動器上,啟用多部分傳輸能引起檔案系統的完全崩潰。這個問題大多數發生在較老的驅動器上。輸入下面的命令啟用多部分傳輸:

Hdparm -m16 /dev/hda

-m16引數啟用16部分傳輸。除了西部資料的驅動器外,大多數驅動器設定為16或32部分是最合適的。西部資料的驅動器緩衝區小,當設定大於8部分時效能將顯著下降。對西部資料驅動器來說,設定為4部分是最合適的。啟用多部分訪問能夠減少CPU負載30%~50%,同時可以增加資料傳輸速率到50%。使用-m0引數可以取消多部分傳輸。Hdparm還有許多選項可設定硬碟驅動器,在此不詳述。

在Windows系統中,磁碟碎片是一個常見的問題,如果不注意,系統性能可能被侵蝕。Linux使用第二擴充套件檔案系統(ext2),它以一種完全不同的方式處理檔案儲存。Linux沒有Windows系統中發現的那種問題,這使得許多人認為磁碟碎片化根本不是一個問題。但是,這是不正確的。

所有的檔案系統隨著時間的推移都趨向於碎片化。Linux檔案系統減少了碎片化,但是並沒有消除。由於它不經常出現,所以對於一個單使用者的工作站來說,可能根本不是問題。然而在繁忙的伺服器中,隨著時間的過去,檔案碎片化將降低硬碟效能,硬碟效能只有從硬碟讀出或寫入資料時才能注意到。下面是優化Linux系統硬碟效能的一些具體措施。

清理磁碟

這種方法看上去很簡單:清理磁碟驅動器,刪除不需要的`檔案,清除所有需要被儲存但將不被使用的檔案。如果可能的話,清除多餘的目錄,並減少子目錄的數目。這些建議似乎顯而易見,但是你會驚訝地發現,每個磁碟上確實積累了非常多的垃圾。釋放磁碟空間可以幫助系統更好地工作。

整理磁碟碎片

Linux系統上的磁碟碎片整理程式與Windows 98或Windows NT系統中的磁碟碎片整理程式不同。Windows 98引入FAT 32檔案系統,雖然執行Windows 98不必轉換為FAT 32檔案系統。Windows可以被設定為使用FAT或一個叫NTFS的增強檔案系統。所有這些檔案系統以本質上相同的方式處理檔案儲存。

Linux最好的整理磁碟碎片的方法是做一個完全的備份,重新格式化分割槽,然後從備份恢復檔案。當檔案被儲存時,它們將被寫到連續的塊中,它們不會碎片化。這是一個大工作,可能對於像/usr之類不經常改變的程式分割槽是不必要的,但是它可以在一個多使用者系統的/home分割槽產生奇蹟。它所花費的時間與Windows NT伺服器磁碟碎片整理花費的時間大致上相同。

如果硬碟效能仍不令人滿意,還有許多其它的步驟可以考慮,但是任何包含升級或購買新裝置的硬體解決方案可能會是昂貴的。

從IDE升級到SCSI

如果你的硬碟是一個IDE驅動器,可以通過升級到SCSI驅動器獲得更好的整體效能。因為IDE控制器必須訪問CPU,CPU和磁碟密集型操作可能變得非常緩慢。SCSI控制器不用通過CPU處理讀寫。當IDE驅動器在讀或寫時,使用者可能會因為CPU週期被IDE驅動器佔用而抱怨系統的緩慢。

獲取更快的控制器和磁碟驅動器

標準的SCSI控制器不能比標準的IDE控制器更快地讀寫資料,但是一些非常快的“UltraWide”SCSI控制器能夠使讀寫速度有一個真正的飛躍。

EIDE和UDMA控制器是非常快的IDE控制器。新的UDMA控制器能夠接近SCSI控制器的速度。UDMA控制器的頂級速度是猝發速度,但持續傳輸的速度明顯慢得多。IDE控制器包括UDMA,是嵌入在驅動器本身中的。不需要購買一個控制器,只要購買一個驅動器,它就包含了控制器,可以獲得UDMA效能。

磁碟驅動器經常忽視的一個方面是磁碟本身的速度。磁碟的速度以rpm為單位給出,它代表每分鐘旋轉多少次。rpm越大,磁碟速度也越快。如果你有這方面的預算,大多數伺服器系統廠商可提供7500rpm甚至10000rpm SCSI磁碟。標準SCSI和IDE磁碟提供5400rpm速度。

使用多個控制器

IDE和SCSI磁碟可以被連結。IDE鏈最多包括兩個裝置,標準SCSI鏈最多包括七個裝置。如果在系統中有兩個或更多SCSI磁碟,很可能被連結到同一個控制器。這樣對大多數操作是足夠的,尤其是把計算機當作單使用者的工作站時。但是如果有一個伺服器,那麼就能夠通過對每個SCSI驅動器提供一個控制器改善效能。當然,好的控制器是昂貴的。

調整硬碟引數

使用Hdparm工具可以調整IDE硬碟效能,它設計時專門考慮了使用UDMA驅動器。在預設情況下,Linux使用是最安全的,但是設定訪問IDE驅動器是最慢的。預設模式沒有利用UDMA可能的最快的效能。

使用Hdparm工具,通過啟用下面的特性可以顯著地改善效能:

32位支援 預設設定是16位;

多部分訪問 預設設定是每次中斷單部分傳送。

注意:在使用Hdparm之前,確保對系統已經做了完全的備份。使用Hdparm改變IDE引數,如果出錯可能會引起驅動器上全部資料的丟失。Hdparm可以提供關於硬碟的大量資訊。開啟一個終端視窗,輸入下面命令獲取系統中第一個IDE驅動器的資訊(改變裝置名獲取其它IDE驅動器的資訊):

Hdparm -v /dev/had

上面命令顯示出當系統啟動時從驅動器獲得的資訊,包括驅動器操作在16位或32位模式(I/O Support)下,是否為多部分訪問(Multcount)。關於磁碟驅動器的更詳細資訊的顯示可使用-i引數。

Hdparm也可以測試驅動器傳輸速率。輸入命令測試系統中第一個IDE驅動器:

Hdparm -Tt /dev/hda

此測試可測量驅動器直接讀和高速緩衝儲存器讀的速度。結果是一個優化的“最好的事例”數字。改變驅動器設定,啟用32位傳輸,輸入下面的命令:

Hdparm -c3 /dev/hda

-c3引數啟用32位支援,使用-c0可以取消它。-c1引數也可啟用32位支援並使用更少的記憶體開銷,但是在很多驅動器下它不工作。

大多數新IDE驅動器支援多部分傳輸,但是Linux預設設定為單部分傳輸。注意:這個設定在一些驅動器上,啟用多部分傳輸能引起檔案系統的完全崩潰。這個問題大多數發生在較老的驅動器上。輸入下面的命令啟用多部分傳輸:

Hdparm -m16 /dev/hda

-m16引數啟用16部分傳輸。除了西部資料的驅動器外,大多數驅動器設定為16或32部分是最合適的。西部資料的驅動器緩衝區小,當設定大於8部分時效能將顯著下降。對西部資料驅動器來說,設定為4部分是最合適的。啟用多部分訪問能夠減少CPU負載30%~50%,同時可以增加資料傳輸速率到50%。使用-m0引數可以取消多部分傳輸。Hdparm還有許多選項可設定硬碟驅動器,在此不詳述。

TAG標籤:硬碟 系統 LINUX 優化 #