- 相關(guān)推薦
2017最新優(yōu)化Linux系統(tǒng)硬盤性能方法
所有的文件系統(tǒng)隨著時(shí)間的推移都趨向于碎片化。Linux文件系統(tǒng)減少了碎片化,但是并沒有消除。由于它不經(jīng)常出現(xiàn),所以對(duì)于一個(gè)單用戶的工作站來說,可能根本不是問題。然而在繁忙的服務(wù)器中,隨著時(shí)間的過去,文件碎片化將降低硬盤性能,硬盤性能只有從硬盤讀出或?qū)懭霐?shù)據(jù)時(shí)才能注意到。下面是優(yōu)化Linux系統(tǒng)硬盤性能的一些具體措施。
清理磁盤
這種方法看上去很簡單:清理磁盤驅(qū)動(dòng)器,刪除不需要的文件,清除所有需要被保存但將不被使用的文件。如果可能的話,清除多余的目錄,并減少子目錄的數(shù)目。這些建議似乎顯而易見,但是你會(huì)驚訝地發(fā)現(xiàn),每個(gè)磁盤上確實(shí)積累了非常多的垃圾。釋放磁盤空間可以幫助系統(tǒng)更好地工作。
整理磁盤碎片
Linux系統(tǒng)上的磁盤碎片整理程序與Windows 98或Windows NT系統(tǒng)中的磁盤碎片整理程序不同。Windows 98引入FAT 32文件系統(tǒng),雖然運(yùn)行Windows 98不必轉(zhuǎn)換為FAT 32文件系統(tǒng)。Windows可以被設(shè)置為使用FAT或一個(gè)叫NTFS的增強(qiáng)文件系統(tǒng)。所有這些文件系統(tǒng)以本質(zhì)上相同的方式處理文件存儲(chǔ)。
Linux最好的整理磁盤碎片的方法是做一個(gè)完全的備份,重新格式化分區(qū),然后從備份恢復(fù)文件。當(dāng)文件被存儲(chǔ)時(shí),它們將被寫到連續(xù)的塊中,它們不會(huì)碎片化。這是一個(gè)大工作,可能對(duì)于像/usr之類不經(jīng)常改變的程序分區(qū)是不必要的,但是它可以在一個(gè)多用戶系統(tǒng)的/home分區(qū)產(chǎn)生奇跡。它所花費(fèi)的時(shí)間與Windows NT服務(wù)器磁盤碎片整理花費(fèi)的時(shí)間大致上相同。
如果硬盤性能仍不令人滿意,還有許多其它的步驟可以考慮,但是任何包含升級(jí)或購買新設(shè)備的硬件解決方案可能會(huì)是昂貴的。
從IDE升級(jí)到SCSI
如果你的硬盤是一個(gè)IDE驅(qū)動(dòng)器,可以通過升級(jí)到SCSI驅(qū)動(dòng)器獲得更好的整體性能。因?yàn)镮DE控制器必須訪問CPU,CPU和磁盤密集型操作可能變得非常緩慢。SCSI控制器不用通過CPU處理讀寫。當(dāng)IDE驅(qū)動(dòng)器在讀或?qū)憰r(shí),用戶可能會(huì)因?yàn)镃PU周期被IDE驅(qū)動(dòng)器占用而抱怨系統(tǒng)的緩慢。
獲取更快的控制器和磁盤驅(qū)動(dòng)器
標(biāo)準(zhǔn)的SCSI控制器不能比標(biāo)準(zhǔn)的IDE控制器更快地讀寫數(shù)據(jù),但是一些非?斓摹癠ltraWide”SCSI控制器能夠使讀寫速度有一個(gè)真正的飛躍。
EIDE和UDMA控制器是非?斓腎DE控制器。新的UDMA控制器能夠接近SCSI控制器的速度。UDMA控制器的頂級(jí)速度是猝發(fā)速度,但持續(xù)傳輸?shù)乃俣让黠@慢得多。IDE控制器包括UDMA,是嵌入在驅(qū)動(dòng)器本身中的。不需要購買一個(gè)控制器,只要購買一個(gè)驅(qū)動(dòng)器,它就包含了控制器,可以獲得UDMA性能。
磁盤驅(qū)動(dòng)器經(jīng)常忽視的一個(gè)方面是磁盤本身的速度。磁盤的速度以rpm為單位給出,它代表每分鐘旋轉(zhuǎn)多少次。rpm越大,磁盤速度也越快。如果你有這方面的預(yù)算,大多數(shù)服務(wù)器系統(tǒng)廠商可提供7500rpm甚至10000rpm SCSI磁盤。標(biāo)準(zhǔn)SCSI和IDE磁盤提供5400rpm速度。
使用多個(gè)控制器
IDE和SCSI磁盤可以被鏈接。IDE鏈最多包括兩個(gè)設(shè)備,標(biāo)準(zhǔn)SCSI鏈最多包括七個(gè)設(shè)備。如果在系統(tǒng)中有兩個(gè)或更多SCSI磁盤,很可能被鏈接到同一個(gè)控制器。這樣對(duì)大多數(shù)操作是足夠的,尤其是把計(jì)算機(jī)當(dāng)作單用戶的工作站時(shí)。但是如果有一個(gè)服務(wù)器,那么就能夠通過對(duì)每個(gè)SCSI驅(qū)動(dòng)器提供一個(gè)控制器改善性能。當(dāng)然,好的控制器是昂貴的。
調(diào)整硬盤參數(shù)
使用Hdparm工具可以調(diào)整IDE硬盤性能,它設(shè)計(jì)時(shí)專門考慮了使用UDMA驅(qū)動(dòng)器。在缺省情況下,Linux使用是最安全的,但是設(shè)置訪問IDE驅(qū)動(dòng)器是最慢的。缺省模式?jīng)]有利用UDMA可能的最快的性能。
使用Hdparm工具,通過激活下面的特性可以顯著地改善性能:
32位支持 缺省設(shè)置是16位;
多部分訪問 缺省設(shè)置是每次中斷單部分傳送。
注意:在使用Hdparm之前,確保對(duì)系統(tǒng)已經(jīng)做了完全的備份。使用Hdparm改變IDE參數(shù),如果出錯(cuò)可能會(huì)引起驅(qū)動(dòng)器上全部數(shù)據(jù)的丟失。Hdparm可以提供關(guān)于硬盤的大量信息。打開一個(gè)終端窗口,輸入下面命令獲取系統(tǒng)中第一個(gè)IDE驅(qū)動(dòng)器的信息(改變?cè)O(shè)備名獲取其它IDE驅(qū)動(dòng)器的信息):
Hdparm -v /dev/had
上面命令顯示出當(dāng)系統(tǒng)啟動(dòng)時(shí)從驅(qū)動(dòng)器獲得的信息,包括驅(qū)動(dòng)器操作在16位或32位模式(I/O Support)下,是否為多部分訪問(Multcount)。關(guān)于磁盤驅(qū)動(dòng)器的更詳細(xì)信息的顯示可使用-i參數(shù)。
Hdparm也可以測試驅(qū)動(dòng)器傳輸速率。輸入命令測試系統(tǒng)中第一個(gè)IDE驅(qū)動(dòng)器:
Hdparm -Tt /dev/hda
此測試可測量驅(qū)動(dòng)器直接讀和高速緩沖存儲(chǔ)器讀的速度。結(jié)果是一個(gè)優(yōu)化的“最好的事例”數(shù)字。改變驅(qū)動(dòng)器設(shè)置,激活32位傳輸,輸入下面的命令:
Hdparm -c3 /dev/hda
-c3參數(shù)激活32位支持,使用-c0可以取消它。-c1參數(shù)也可激活32位支持并使用更少的內(nèi)存開銷,但是在很多驅(qū)動(dòng)器下它不工作。
大多數(shù)新IDE驅(qū)動(dòng)器支持多部分傳輸,但是Linux缺省設(shè)置為單部分傳輸。注意:這個(gè)設(shè)置在一些驅(qū)動(dòng)器上,激活多部分傳輸能引起文件系統(tǒng)的完全崩潰。這個(gè)問題大多數(shù)發(fā)生在較老的驅(qū)動(dòng)器上。輸入下面的命令激活多部分傳輸:
Hdparm -m16 /dev/hda
-m16參數(shù)激活16部分傳輸。除了西部數(shù)據(jù)的驅(qū)動(dòng)器外,大多數(shù)驅(qū)動(dòng)器設(shè)置為16或32部分是最合適的。西部數(shù)據(jù)的驅(qū)動(dòng)器緩沖區(qū)小,當(dāng)設(shè)置大于8部分時(shí)性能將顯著下降。對(duì)西部數(shù)據(jù)驅(qū)動(dòng)器來說,設(shè)置為4部分是最合適的。激活多部分訪問能夠減少CPU負(fù)載30%~50%,同時(shí)可以增加數(shù)據(jù)傳輸速率到50%。使用-m0參數(shù)可以取消多部分傳輸。Hdparm還有許多選項(xiàng)可設(shè)置硬盤驅(qū)動(dòng)器,在此不詳述。
在Windows系統(tǒng)中,磁盤碎片是一個(gè)常見的問題,如果不注意,系統(tǒng)性能可能被侵蝕。Linux使用第二擴(kuò)展文件系統(tǒng)(ext2),它以一種完全不同的方式處理文件存儲(chǔ)。Linux沒有Windows系統(tǒng)中發(fā)現(xiàn)的那種問題,這使得許多人認(rèn)為磁盤碎片化根本不是一個(gè)問題。但是,這是不正確的。
所有的文件系統(tǒng)隨著時(shí)間的推移都趨向于碎片化。Linux文件系統(tǒng)減少了碎片化,但是并沒有消除。由于它不經(jīng)常出現(xiàn),所以對(duì)于一個(gè)單用戶的工作站來說,可能根本不是問題。然而在繁忙的服務(wù)器中,隨著時(shí)間的過去,文件碎片化將降低硬盤性能,硬盤性能只有從硬盤讀出或?qū)懭霐?shù)據(jù)時(shí)才能注意到。下面是優(yōu)化Linux系統(tǒng)硬盤性能的一些具體措施。
清理磁盤
這種方法看上去很簡單:清理磁盤驅(qū)動(dòng)器,刪除不需要的文件,清除所有需要被保存但將不被使用的文件。如果可能的話,清除多余的目錄,并減少子目錄的數(shù)目。這些建議似乎顯而易見,但是你會(huì)驚訝地發(fā)現(xiàn),每個(gè)磁盤上確實(shí)積累了非常多的垃圾。釋放磁盤空間可以幫助系統(tǒng)更好地工作。
整理磁盤碎片
Linux系統(tǒng)上的磁盤碎片整理程序與Windows 98或Windows NT系統(tǒng)中的磁盤碎片整理程序不同。Windows 98引入FAT 32文件系統(tǒng),雖然運(yùn)行Windows 98不必轉(zhuǎn)換為FAT 32文件系統(tǒng)。Windows可以被設(shè)置為使用FAT或一個(gè)叫NTFS的增強(qiáng)文件系統(tǒng)。所有這些文件系統(tǒng)以本質(zhì)上相同的方式處理文件存儲(chǔ)。
Linux最好的整理磁盤碎片的方法是做一個(gè)完全的備份,重新格式化分區(qū),然后從備份恢復(fù)文件。當(dāng)文件被存儲(chǔ)時(shí),它們將被寫到連續(xù)的塊中,它們不會(huì)碎片化。這是一個(gè)大工作,可能對(duì)于像/usr之類不經(jīng)常改變的程序分區(qū)是不必要的,但是它可以在一個(gè)多用戶系統(tǒng)的/home分區(qū)產(chǎn)生奇跡。它所花費(fèi)的時(shí)間與Windows NT服務(wù)器磁盤碎片整理花費(fèi)的時(shí)間大致上相同。
如果硬盤性能仍不令人滿意,還有許多其它的步驟可以考慮,但是任何包含升級(jí)或購買新設(shè)備的硬件解決方案可能會(huì)是昂貴的。
從IDE升級(jí)到SCSI
如果你的硬盤是一個(gè)IDE驅(qū)動(dòng)器,可以通過升級(jí)到SCSI驅(qū)動(dòng)器獲得更好的整體性能。因?yàn)镮DE控制器必須訪問CPU,CPU和磁盤密集型操作可能變得非常緩慢。SCSI控制器不用通過CPU處理讀寫。當(dāng)IDE驅(qū)動(dòng)器在讀或?qū)憰r(shí),用戶可能會(huì)因?yàn)镃PU周期被IDE驅(qū)動(dòng)器占用而抱怨系統(tǒng)的緩慢。
獲取更快的控制器和磁盤驅(qū)動(dòng)器
標(biāo)準(zhǔn)的SCSI控制器不能比標(biāo)準(zhǔn)的IDE控制器更快地讀寫數(shù)據(jù),但是一些非?斓摹癠ltraWide”SCSI控制器能夠使讀寫速度有一個(gè)真正的飛躍。
EIDE和UDMA控制器是非?斓腎DE控制器。新的UDMA控制器能夠接近SCSI控制器的速度。UDMA控制器的頂級(jí)速度是猝發(fā)速度,但持續(xù)傳輸?shù)乃俣让黠@慢得多。IDE控制器包括UDMA,是嵌入在驅(qū)動(dòng)器本身中的。不需要購買一個(gè)控制器,只要購買一個(gè)驅(qū)動(dòng)器,它就包含了控制器,可以獲得UDMA性能。
磁盤驅(qū)動(dòng)器經(jīng)常忽視的一個(gè)方面是磁盤本身的速度。磁盤的速度以rpm為單位給出,它代表每分鐘旋轉(zhuǎn)多少次。rpm越大,磁盤速度也越快。如果你有這方面的預(yù)算,大多數(shù)服務(wù)器系統(tǒng)廠商可提供7500rpm甚至10000rpm SCSI磁盤。標(biāo)準(zhǔn)SCSI和IDE磁盤提供5400rpm速度。
使用多個(gè)控制器
IDE和SCSI磁盤可以被鏈接。IDE鏈最多包括兩個(gè)設(shè)備,標(biāo)準(zhǔn)SCSI鏈最多包括七個(gè)設(shè)備。如果在系統(tǒng)中有兩個(gè)或更多SCSI磁盤,很可能被鏈接到同一個(gè)控制器。這樣對(duì)大多數(shù)操作是足夠的,尤其是把計(jì)算機(jī)當(dāng)作單用戶的工作站時(shí)。但是如果有一個(gè)服務(wù)器,那么就能夠通過對(duì)每個(gè)SCSI驅(qū)動(dòng)器提供一個(gè)控制器改善性能。當(dāng)然,好的控制器是昂貴的。
調(diào)整硬盤參數(shù)
使用Hdparm工具可以調(diào)整IDE硬盤性能,它設(shè)計(jì)時(shí)專門考慮了使用UDMA驅(qū)動(dòng)器。在缺省情況下,Linux使用是最安全的,但是設(shè)置訪問IDE驅(qū)動(dòng)器是最慢的。缺省模式?jīng)]有利用UDMA可能的最快的性能。
使用Hdparm工具,通過激活下面的特性可以顯著地改善性能:
32位支持 缺省設(shè)置是16位;
多部分訪問 缺省設(shè)置是每次中斷單部分傳送。
注意:在使用Hdparm之前,確保對(duì)系統(tǒng)已經(jīng)做了完全的備份。使用Hdparm改變IDE參數(shù),如果出錯(cuò)可能會(huì)引起驅(qū)動(dòng)器上全部數(shù)據(jù)的丟失。Hdparm可以提供關(guān)于硬盤的大量信息。打開一個(gè)終端窗口,輸入下面命令獲取系統(tǒng)中第一個(gè)IDE驅(qū)動(dòng)器的信息(改變?cè)O(shè)備名獲取其它IDE驅(qū)動(dòng)器的信息):
Hdparm -v /dev/had
上面命令顯示出當(dāng)系統(tǒng)啟動(dòng)時(shí)從驅(qū)動(dòng)器獲得的信息,包括驅(qū)動(dòng)器操作在16位或32位模式(I/O Support)下,是否為多部分訪問(Multcount)。關(guān)于磁盤驅(qū)動(dòng)器的更詳細(xì)信息的顯示可使用-i參數(shù)。
Hdparm也可以測試驅(qū)動(dòng)器傳輸速率。輸入命令測試系統(tǒng)中第一個(gè)IDE驅(qū)動(dòng)器:
Hdparm -Tt /dev/hda
此測試可測量驅(qū)動(dòng)器直接讀和高速緩沖存儲(chǔ)器讀的速度。結(jié)果是一個(gè)優(yōu)化的“最好的事例”數(shù)字。改變驅(qū)動(dòng)器設(shè)置,激活32位傳輸,輸入下面的命令:
Hdparm -c3 /dev/hda
-c3參數(shù)激活32位支持,使用-c0可以取消它。-c1參數(shù)也可激活32位支持并使用更少的內(nèi)存開銷,但是在很多驅(qū)動(dòng)器下它不工作。
大多數(shù)新IDE驅(qū)動(dòng)器支持多部分傳輸,但是Linux缺省設(shè)置為單部分傳輸。注意:這個(gè)設(shè)置在一些驅(qū)動(dòng)器上,激活多部分傳輸能引起文件系統(tǒng)的完全崩潰。這個(gè)問題大多數(shù)發(fā)生在較老的驅(qū)動(dòng)器上。輸入下面的命令激活多部分傳輸:
Hdparm -m16 /dev/hda
-m16參數(shù)激活16部分傳輸。除了西部數(shù)據(jù)的驅(qū)動(dòng)器外,大多數(shù)驅(qū)動(dòng)器設(shè)置為16或32部分是最合適的。西部數(shù)據(jù)的驅(qū)動(dòng)器緩沖區(qū)小,當(dāng)設(shè)置大于8部分時(shí)性能將顯著下降。對(duì)西部數(shù)據(jù)驅(qū)動(dòng)器來說,設(shè)置為4部分是最合適的。激活多部分訪問能夠減少CPU負(fù)載30%~50%,同時(shí)可以增加數(shù)據(jù)傳輸速率到50%。使用-m0參數(shù)可以取消多部分傳輸。Hdparm還有許多選項(xiàng)可設(shè)置硬盤驅(qū)動(dòng)器,在此不詳述。
【最新優(yōu)化Linux系統(tǒng)硬盤性能方法】相關(guān)文章:
Linux系統(tǒng)守護(hù)進(jìn)程的啟動(dòng)方法12-15
保護(hù)硬盤隱私的方法10-18
新手硬盤分區(qū)的方法10-28
挽救硬盤的10個(gè)方法10-29
Linux系統(tǒng)安全的九個(gè)關(guān)鍵點(diǎn)11-07
SSD加速機(jī)械硬盤的方法介紹04-02
解決硬盤讀寫速度變慢的方法07-28