如果你是個Linux用戶,你可能聽說過不需要去對你的linux文件系統(tǒng)進行磁盤碎片整理。也許你注意到了,在Liunx安裝發(fā)布包里沒有磁盤碎片整理的工具。為什么會這樣?
為了理解為什么Linux文件系統(tǒng)不需要磁盤碎片整——而Windows卻需要——你需要理解磁盤碎片產(chǎn)生的原理,以及Linux和Windows文件系統(tǒng)它們之間工作原理的不同之處。
什么是磁盤碎片
很多Windows用戶,甚至是沒有經(jīng)驗的用戶,都深信經(jīng)常對文件系統(tǒng)進行碎片整理會提高計算機的速度。但并不是很多人知道這其中的原委。
簡單的說,磁盤驅動器上有很多扇區(qū),每個扇區(qū)都能存放一小段數(shù)據(jù)。文件,特別是大文件的存儲需要占用很多不同的扇區(qū)。假設現(xiàn)在你有很多個文件存在的文件系統(tǒng)里,每個文件都會被存儲在一系列連續(xù)的扇區(qū)里。后來你更新了其中的一個文件,它的體積變大了。文件系統(tǒng)會嘗試把文件新增的部分存放到緊鄰原始文件的扇區(qū)里??刹恍业氖?,它周邊已經(jīng)沒連續(xù)的足夠扇區(qū)空間了,文件需要被分割成數(shù)段——這些都在自動進行的。當從磁盤上讀取這個文件時,磁盤磁頭需要跨越數(shù)個不同的物理位置來讀取各個扇區(qū)——這樣會使速度降低。
磁盤碎片整理就是小心的移動這些小文件塊來減少碎片,讓每個文件都能連續(xù)的分布在磁盤上。
當然,如果是固態(tài)硬盤,那情況又不同了,固態(tài)硬盤沒有機械移動,不應該進行碎片整理——對一個U盤進行碎片整理通常會降低它的壽命。在最新版的Windows系統(tǒng)里,你實際上不需要關心系統(tǒng)上的碎片——Windows會自動替你整理。
Windows文件系統(tǒng)的工作原理
微軟老的FAT文件系統(tǒng)——最后一次使用是在Windows 98 和 Window ME上,可如今的U盤上還在使用它——并不會智能的管理文件。當你把一個文件存入FAT文件系統(tǒng)里時,系統(tǒng)會盡量的把它存到靠近磁盤開始的地方。當你存入第二個文件時,它會緊接著第一個文件——一個接著一個。當原始文件體積變大后,它們一定會產(chǎn)生碎片。根本沒有留給它們增長的空間。
微軟新的NTFS文件系統(tǒng)——使用在裝有Windows XP和2000的PC機上——稍微智能了一點。它會在磁盤上在文件周圍分配一些“緩沖”的空閑空間,盡管如此,任何Windows用戶都會告訴你,經(jīng)過一段時間的使用后,NTFS文件系統(tǒng)還是會形成碎片。
由于這些文件系統(tǒng)的工作原理,它們注定需要進行碎片整理來保持高性能。微軟在它最新的視窗系統(tǒng)里通過在后臺運行一個磁盤碎片整理進程來解決這個問題。
Linux文件系統(tǒng)的工作原理
Linux的ext2, ext3, 和 ext4 文件系統(tǒng) ——Ubuntu和大多數(shù)最新的Linux發(fā)布版中使用的是ext4——采用了一種更聰明的方法來存放文件。與把多個文件并排放在磁盤上不同,Linux文件系統(tǒng)把所有文件都分散到了整個磁盤上,每兩個文件之間都留有相當巨大的空閑空間。當文件被修改、體積增加時,它們通常有足夠的空間來擴展。一旦有碎片產(chǎn)生時,文件系統(tǒng)會嘗試移動整個文件來消除碎片,所以你不需要一個碎片整理工具。
因為這種工作方式,當磁盤快要裝滿時,你開始會發(fā)現(xiàn)有碎片開始產(chǎn)生。如果已用空間超過95%(甚至80%),你會發(fā)現(xiàn)碎片開始變多。但不管怎樣,這個文件系統(tǒng)的設計會使正常情況下不產(chǎn)生碎片。
如果你在Linux系統(tǒng)上遇到了磁盤碎片問題,你很可能需要一個更大的硬盤了。如果你真想整理一個文件系統(tǒng),這最簡單的方式也許是最可靠的方式:把文件從這個分區(qū)里考出,刪除這些文件,然后考回這些文件。當你把文件考回硬盤時,文件系統(tǒng)會智能為文件分配存儲空間。
你可以使用 fsck 命令來查看Linux文件系統(tǒng)上的磁盤碎片情況——在輸出結果里尋找“non-contiguous inodes”信息。
轉載自:
http://www.aqee.net/why-linux-doesnt-need-defragmenting/
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
