時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
?? 在Windows系統(tǒng)中,磁盤碎片是一個常見的問題,如果不注意,系統(tǒng)性能可能被侵蝕。Linux使用第二擴展文件系統(tǒng) (ext2),它以一種完全不同的方式處理文件存儲。Linux沒有Windows系統(tǒng)中發(fā)現(xiàn)的那種問題,這使得許多人認為磁盤碎片化根本不是一個問題。但是,這是不正確的……在Windows系統(tǒng)中,磁盤碎片是一個常見的問題,如果不注意,系統(tǒng)性能可能被侵蝕。Linux使用第二擴展文件系統(tǒng) (ext2),它以一種完全不同的方式處理文件存儲。Linux沒有Windows系統(tǒng)中發(fā)現(xiàn)的那種問題,這使得許多人認為磁盤碎片化根本不是一個問題。但是,這是不正確的。
?? 所有的文件系統(tǒng)隨著時間的推移都趨向于碎片化。Linux文件系統(tǒng)減少了碎片化,但是并沒有消除。由于它不經(jīng)常出現(xiàn),所以對于一個單用戶的工作站來說,可能根本不是問題。然而在繁忙的服務器中,隨著時間的過去,文件碎片化將降低硬盤性能,硬盤性能只有從硬盤讀出或?qū)懭霐?shù)據(jù)時才能注意到。下面是優(yōu)化 Linux系統(tǒng)硬盤性能的一些具體措施。
?? 一、清理磁盤
?? 這種方法看上去很簡單:清理磁盤驅(qū)動器,刪除不需要的文件,清除所有需要被保存但將不被使用的文件。如果可能的話,清除多余的目錄,并減少子目錄的數(shù)目。這些建議似乎顯而易見,但是你會驚訝地發(fā)現(xiàn),每個磁盤上確實積累了非常多的垃圾。釋放磁盤空間可以幫助系統(tǒng)更好地工作。
?? 二、整理磁盤碎片
?? Linux系統(tǒng)上的磁盤碎片整理程序與Windows 98或Windows NT系統(tǒng)中的磁盤碎片整理程序不同。Windows 98引入FAT 32文件系統(tǒng),雖然運行Windows 98不必轉(zhuǎn)換為FAT 32文件系統(tǒng)。Windows可以被設置為使用FAT或一個叫NTFS的增強文件系統(tǒng)。所有這些文件系統(tǒng)以本質(zhì)上相同的方式處理文件存儲。
?? Linux最好的整理磁盤碎片的方法是做一個完全的備份,重新格式化分區(qū),然后從備份恢復文件。當文件被存儲時,它們將被寫到連續(xù)的塊中,它們不會碎片化。這是一個大工作,可能對于像/usr之類不經(jīng)常改變的程序分區(qū)是不必要的,但是它可以在一個多用戶系統(tǒng)的/home分區(qū)產(chǎn)生奇跡。它所花費的時間與Windows NT服務器磁盤碎片整理花費的時間大致上相同。
?? 如果硬盤性能仍不令人滿意,還有許多其它的步驟可以考慮,但是任何包含升級或購買新設備的硬件解決方案可能會是昂貴的。
?? 三、從IDE升級到SCSI
?? 如果你的硬盤是一個IDE驅(qū)動器,可以通過升級到SCSI驅(qū)動器獲得更好的整體性能。因為IDE控制器必須訪問CPU,CPU和磁盤密集型操作可能變得非常緩慢。SCSI控制器不用通過CPU處理讀寫。當IDE驅(qū)動器在讀或?qū)憰r,用戶可能會因為CPU周期被IDE驅(qū)動器占用而抱怨系統(tǒng)的緩慢。
?? 獲取更快的控制器和磁盤驅(qū)動器
?? 標準的SCSI控制器不能比標準的IDE控制器更快地讀寫數(shù)據(jù),但是一些非??斓?UltraWide"SCSI控制器能夠使讀寫速度有一個真正的飛躍。
?? EIDE和UDMA控制器是非常快的IDE控制器。新的UDMA控制器能夠接近SCSI控制器的速度。UDMA控制器的頂級速度是猝發(fā)速度,但持續(xù)傳輸?shù)乃俣让黠@慢得多。IDE控制器包括UDMA,是嵌入在驅(qū)動器本身中的。不需要購買一個控制器,只要購買一個驅(qū)動器,它就包含了控制器,可以獲得 UDMA性能。
?? 磁盤驅(qū)動器經(jīng)常忽視的一個方面是磁盤本身的速度。磁盤的速度以rpm為單位給出,它代表每分鐘旋轉(zhuǎn)多少次。rpm越大,磁盤速度也越快。如果你有這方面的預算,大多數(shù)服務器系統(tǒng)廠商可提供7500rpm甚至10000rpm SCSI磁盤。標準SCSI和IDE磁盤提供5400rpm速度。
?? 四、使用多個控制器
?? IDE和SCSI磁盤可以被鏈接。IDE鏈最多包括兩個設備,標準SCSI鏈最多包括七個設備。如果在系統(tǒng)中有兩個或更多SCSI磁盤,很可能被鏈接到同一個控制器。這樣對大多數(shù)操作是足夠的,尤其是把計算機當作單用戶的工作站時。但是如果有一個服務器,那么就能夠通過對每個SCSI驅(qū)動器提供一個控制器改善性能。當然,好的控制器是昂貴的。
?? 五、調(diào)整硬盤參數(shù)
?? 使用hdparm工具可以調(diào)整IDE硬盤性能,它設計時專門考慮了使用UDMA驅(qū)動器。在缺省情況下,Linux使用是最安全的,但是設置訪問IDE驅(qū)動器是最慢的。缺省模式?jīng)]有利用UDMA可能的最快的性能。
?? 使用hdparm工具,通過激活下面的特性可以顯著地改善性能:
?? ◆ 32位支持 缺省設置是16位;
?? ◆ 多部分訪問 缺省設置是每次中斷單部分傳送。
?? 注意:在使用hdparm之前,確保對系統(tǒng)已經(jīng)做了完全的備份。使用hdparm改變IDE參數(shù),如果出錯可能會引起驅(qū)動器上全部數(shù)據(jù)的丟失。
?? hdparm可以提供關于硬盤的大量信息。打開一個終端窗口,輸入下面命令獲取系統(tǒng)中第一個IDE驅(qū)動器的信息(改變設備名獲取其它IDE驅(qū)動器的信息):
?? hdparm -v /dev/had
? 上面命令顯示出當系統(tǒng)啟動時從驅(qū)動器獲得的信息,包括驅(qū)動器操作在16位或32位模式(I/O Support)下,是否為多部分訪問(Multcount)。關于磁盤驅(qū)動器的更詳細信息的顯示可使用-i參數(shù)。
?? Hdparm也可以測試驅(qū)動器傳輸速率。輸入命令測試系統(tǒng)中第一個IDE驅(qū)動器:
?? hdparm -Tt /dev/hda
?? 此測試可測量驅(qū)動器直接讀和高速緩沖存儲器讀的速度。結果是一個優(yōu)化的"最好的事例"數(shù)字。改變驅(qū)動器設置,激活32位傳輸,輸入下面的命令:
?? hdparm -c3 /dev/hda
-c3參數(shù)激活32位支持,使用-c0可以取消它。-c1參數(shù)也可激活32位支持并使用更少的內(nèi)存開銷,但是在很多驅(qū)動器下它不工作。
?? 大多數(shù)新IDE驅(qū)動器支持多部分傳輸,但是Linux缺省設置為單部分傳輸。注意:這個設置在一些驅(qū)動器上,激活多部分傳輸能引起文件系統(tǒng)的完全崩潰。這個問題大多數(shù)發(fā)生在較老的驅(qū)動器上。輸入下面的命令激活多部分傳輸:
?? hdparm -m16 /dev/hda
?? -m16參數(shù)激活16部分傳輸。除了西部數(shù)據(jù)的驅(qū)動器外,大多數(shù)驅(qū)動器設置為16或32部分是最合適的。西部數(shù)據(jù)的驅(qū)動器緩沖區(qū)小,當設置大于8部分時性能將顯著下降。對西部數(shù)據(jù)驅(qū)動器來說,設置為4部分是最合適的。
?? 激活多部分訪問能夠減少CPU負載30%~50%,同時可以增加數(shù)據(jù)傳輸速率到50%。使用-m0參數(shù)可以取消多部分傳輸。
?? hdparm還有許多選項可設置硬盤驅(qū)動器,在此不詳述。
#p#副標題#e#
?? 六、使用軟件RAID
?? RAID廉價驅(qū)動器的冗余陣列,也可以改善磁盤驅(qū)動器性能和容量。Linux支持軟件RAID和硬件RAID。軟件RAID嵌入在Linux內(nèi)核中,比硬件RAID花費要少得多。軟件RAID的惟一花費就是購買系統(tǒng)中的磁盤,但是軟件RAID不能使硬件RAID的性能增強。硬件RAID使用特殊設計的硬件,控制系統(tǒng)的多個磁盤。硬件RAID可能是昂貴的,但是得到的性能改善與之相匹配。RAID的基本思想是組合多個小的、廉價的磁盤驅(qū)動器成為一個磁盤驅(qū)動器陣列,提供與大型計算機中單個大驅(qū)動器相同的性能級別。RAID驅(qū)動器陣列對于計算機來說像單獨一個驅(qū)動器,它也可以使用并行處理。磁盤讀寫在 RAID磁盤陣列的并行數(shù)據(jù)通路上同時進行。
?? IBM公司在加利福尼亞大學發(fā)起一項研究,得到RAID級別的一個最初定義。現(xiàn)在有六個已定義的RAID級別,如下所示。
?? RAID 0:級別0只是數(shù)據(jù)帶。在級別0中,數(shù)據(jù)被拆分到多于一個的驅(qū)動器,結果是更高的數(shù)據(jù)吞吐量。這是RAID的最快和最有效形式。但是,在這個級別沒有數(shù)據(jù)鏡像,所以在陣列中任何磁盤的失敗將引起所有數(shù)據(jù)的丟失。
?? RAID 1:級別1是完全磁盤鏡像。在獨立的磁盤上創(chuàng)建和支持數(shù)據(jù)兩份拷貝。級別1陣列與一個驅(qū)動器相比讀速度快、寫速度慢,但是如果任一個驅(qū)動器錯誤,不會有數(shù)據(jù)丟失。這是最昂貴的RAID級別,因為每個磁盤需要第二個磁盤做它的鏡像。這個級別提供最好的數(shù)據(jù)安全。
?? RAID 2:級別2設想用于沒有內(nèi)嵌錯誤檢測的驅(qū)動器。因為所有的SCSI驅(qū)動器支持內(nèi)嵌錯誤檢測,這個級別已過時,基本上沒用了。Linux不使用這個級別。
?? RAID 3:級別3是一個有奇偶校驗磁盤的磁盤帶。存儲奇偶校驗信息到一個獨立的驅(qū)動器上,允許恢復任何單個驅(qū)動器上的錯誤。Linux不支持這個級別。
?? RAID 4:級別4是擁有一個奇偶校驗磁盤的大塊帶。奇偶校驗信息意味著任何一個磁盤失敗數(shù)據(jù)可以被恢復。級別4陣列的讀性能非常好,寫速度比較慢,因為奇偶校驗數(shù)據(jù)必須每次更新。
?? RAID 5:級別5與級別4相似,但是它將奇偶校驗信息分布到多個驅(qū)動器中。這樣提高了磁盤寫速度。它每兆字節(jié)的花費與級別4相同,提高了高水平數(shù)據(jù)保護下的高速隨機性能,是使用最廣泛的RAID系統(tǒng)。
?? 軟件RAID是級別0,它使多個硬盤看起來像一個磁盤,但是速度比任何單個磁盤快得多,因為驅(qū)動器被并行訪問。軟件RAID可以用IDE或SCSI控制器,也可以使用任何磁盤組合。
?? 七、配置內(nèi)核參數(shù)
?? 通過調(diào)整系統(tǒng)內(nèi)核參數(shù)改善性能有時是很明顯的。如果你決定要這樣做一定要小心,因為系統(tǒng)內(nèi)核的改變可能優(yōu)化系統(tǒng),也可能引起系統(tǒng)崩潰。
?? 注意:不要在一個正在使用的系統(tǒng)上改變內(nèi)核參數(shù),因為有系統(tǒng)崩潰的危險。因此,必須在一個沒有人使用的系統(tǒng)上進行測試。設置一個測試機器,對系統(tǒng)進行測試,確保所有工作正常。
?? Tweak內(nèi)存性能
?? 在Linux中,
關鍵詞標簽:Linux,系統(tǒng)硬盤
相關閱讀
熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP
人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址 dmidecode命令查看內(nèi)存型號 linux tc實現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關機、重啟、注銷 命令 查看linux服務器硬盤IO讀寫負載