為什麼Linux不需要磁碟碎片整理

2021-09-23 17:27:14 字數 1633 閱讀 5462

如果你是個linux使用者,你可能聽說過不需要去對你的linux檔案系統進行磁碟碎片整理。也許你注意到了,在liunx安裝發布包裡沒有磁碟碎片整理的工具。為什麼會這樣?

為了理解為什麼linux檔案系統不需要磁碟碎片整——而windows卻需要——你需要理解磁碟碎片產生的原理,以及linux和windows檔案系統它們之間工作原理的不同之處。

很多windows使用者,甚至是沒有經驗的使用者,都深信經常對檔案系統進行碎片整理會提高計算機的速度。但並不是很多人知道這其中的原委。

簡單的說,磁碟驅動器上有很多扇區,每個扇區都能存放一小段資料。檔案,特別是大檔案的儲存需要占用很多不同的扇區。假設現在你有很多個檔案存在的 檔案系統裡,每個檔案都會被儲存在一系列連續的扇區裡。後來你更新了其中的乙個檔案,它的體積變大了。檔案系統會嘗試把檔案新增的部分存放到緊鄰原始檔案 的扇區裡。可不幸的是,它周邊已經沒連續的足夠扇區空間了,檔案需要被分割成數段——這些都在自動進行的。當從磁碟上讀取這個檔案時,磁碟磁頭需要跨越數 個不同的物理位置來讀取各個扇區——這樣會使速度降低。

磁碟碎片整理就是小心的移動這些小檔案塊來減少碎片,讓每個檔案都能連續的分布在磁碟上。

當然,如果是固態硬碟,那情況又不同了,固態硬碟沒有機械移動,不應該進行碎片整理——對乙個u盤進行碎片整理通常會降低它的壽命。在最新版的windows系統裡,你實際上不需要關心系統上的碎片——windows會自動替你整理。

微軟老的fat檔案系統——最後一次使用是在windows 98 和 window me上,可如今的u盤上還在使用它——並不會智慧型的管理檔案。當你把乙個檔案存入fat檔案系統裡時,系統會盡量的把它存到靠近磁碟開始的地方。當你存入 第二個檔案時,它會緊接著第乙個檔案——乙個接著乙個。當原始檔案體積變大後,它們一定會產生碎片。根本沒有留給它們增長的空間。

微軟新的ntfs檔案系統——使用在裝有windows xp和2000的pc機上——稍微智慧型了一點。它會在磁碟上在檔案周圍分配一些「緩衝」的空閒空間,儘管如此,任何windows使用者都會告訴你,經過一段時間的使用後,ntfs檔案系統還是會形成碎片。

由於這些檔案系統的工作原理,它們注定需要進行碎片整理來保持高效能。微軟在它最新的視窗系統裡通過在後台執行乙個磁碟碎片整理程序來解決這個問題。

linux的ext2, ext3, 和 ext4 檔案系統 ——ubuntu和大多數最新的linux發布版中使用的是ext4——採用了一種更聰明的方法來存放檔案。與把多個檔案併排放在磁碟上不同,linux 檔案系統把所有檔案都分散到了整個磁碟上,每兩個檔案之間都留有相當巨大的空閒空間。當檔案被修改、體積增加時,它們通常有足夠的空間來擴充套件。一旦有碎片 產生時,檔案系統會嘗試移動整個檔案來消除碎片,所以你不需要乙個碎片整理工具。

因為這種工作方式,當磁碟快要裝滿時,你開始會發現有碎片開始產生。如果已用空間超過95%(甚至80%),你會發現碎片開始變多。但不管怎樣,這個檔案系統的設計會使正常情況下不產生碎片。

如果你在linux系統上遇到了磁碟碎片問題,你很可能需要乙個更大的硬碟了。如果你真想整理乙個檔案系統,這最簡單的方式也許是最可靠的方式:把檔案從這個分割槽裡考出,刪除這些檔案,然後考回這些檔案。當你把檔案考回硬碟時,檔案系統會智慧型為檔案分配儲存空間。

你可以使用 fsck 命令來檢視linux檔案系統上的磁碟碎片情況——在輸出結果裡尋找「non-contiguous inodes」資訊。

譯文:原文發布時間為:2012-06-14

為什麼Linux不需要磁碟碎片整理

如果你是個linux使用者,你可能聽說過不需要去對你的linux檔案系統進行磁碟碎片整理。也許你注意到了,在liunx安裝發布包裡沒有磁碟碎片整理的工具。為什麼會這樣?為了理解為什麼linux檔案系統不需要磁碟碎片整 而windows卻需要 你需要理解磁碟碎片產生的原理,以及linux和window...

為什麼Linux不需要磁碟碎片整理

為什麼linux不需要磁碟碎片整理 如果你是個linux使用者,你可能聽說過不需要去對你的linux檔案系統進行磁碟碎片整理。也許你注意到了,在liunx安裝發布包裡沒有磁碟碎片整理的工具。為什麼會這樣?為了理解為什麼linux檔案系統不需要磁碟碎片整 而windows卻需要 你需要理解磁碟碎片產生...

linux不需要磁碟碎片整理的原因

如果你是乙個linux使用者,你可能聽說過,不需要對你的linux檔案系統進行碎片整理。你可能還會注意到,linux發行版並沒有附帶磁碟碎片整理工具。這是為什麼呢?想要知道為什麼在正常使用中,linux檔案系統不需要進行碎片整理,而windows要。你需要了解為什麼會生成碎片,而linux和wind...