為什麼Linux不需要碎片整理?

2021-07-24 14:48:30 字數 2178 閱讀 3708

出處:極客範

如果你是乙個linux使用者,你可能會聽說linux的檔案系統不需要碎片整理。你也可能會注意到linux的發行版本也都沒有磁碟碎片整理的功能。這是為什麼呢?

linux系統中沒有「磁碟碎片整理」功能

要理解為什麼linux的檔案系統不會想windows的檔案系統一樣產生碎片,你首先要明白碎片到底是如何產生的,還有這兩大作業系統的檔案系統的工作方式到底有什麼不同。

什麼是磁碟碎片?

很多windows的使用者,甚至包括一些沒有經驗的使用者,都相信定時整理檔案系統中的碎片會讓他們的電腦執行得更快。但他們都不知道這是為什麼。

簡單來說,乙個硬碟驅動器裡面包含了很多扇區,每乙個扇區都可以儲存一小塊資料。對於檔案,尤其是比較大的檔案來說,他們必須要儲存在很多不同的扇區內。假設你的檔案系統中有很多不同的檔案,每乙個檔案都被儲存在連續的扇區群中。然後,你對增加了其中某乙個檔案的大小。檔案系統首先會嘗試對該檔案新增加的部分儲存在緊挨著原來的扇區群的某個扇區中。但是如果當中沒有足夠的連續扇區,這個檔案就必須要被分解成多個小塊,這些操作對於你來說都是可見的。當你的硬碟讀取這些檔案的時候,他的磁頭必須在不同的物理位置間跳轉以讀取連續的扇區群,這會降低它的速度。

碎片整理就是乙個通過逐位(位是檔案在磁碟中儲存的最小單位)移動檔案來減少碎片的精密的過程,以此來確保每乙個檔案在硬碟中都是連續儲存的。

當然,對於固態硬碟來說這又有點不一樣,固態硬碟不需要移動檔案也不需要碎片整理。因為對乙個ssd(固態硬碟)做碎片整理會減少它的壽命。而且,在最新版本的windows系統中,你也不再需要為碎片整理擔心,因為windows會自動幫你完成。

windows的檔案系統如何工作

從前微軟使用的fat檔案系統——最後一次作為預設系統被看到是在windows 98和me,儘管這個系統還在usb驅動器中使用——並不能夠很好地排列檔案。當你在fat檔案系統中儲存檔案時,它會盡可能地將檔案排列在磁碟的首部。當你存放下乙個檔案時,它會將這個檔案直接存放在第乙個檔案的後面,以此類推。所以當檔案變大,永遠都會有碎片產生,因為檔案的旁邊已經沒有空間來存放增加的部分。

微軟較新的ntfs檔案系統就嘗試變得更聰明一點,這個檔案系統會在檔案周圍放置更多名為」緩衝區「的自由空間。但是,任何乙個windows使用者都會告訴你,ntfs檔案系統總有一天也會產生碎片的。

因為檔案系統這樣的表現,他們需要碎片整理來保持效能。微軟只能在最新版的windows系統中通過在後台自動執行碎片整理程式來減輕這個問題。

linux的檔案系統如何工作

linux的ext2,ext3,ext4檔案系統——ext4是ubuntu和目前大多發行版所採用的檔案系統——會以一種更加智慧型的方式來放置檔案。linux的檔案系統會將檔案分散在整個磁碟,在檔案之間留有大量的自由空間,而不是像windows那樣將檔案乙個接乙個的放置。當乙個檔案被編輯了並且變大了,一般都會有足夠的自由空間來儲存檔案。如果碎片真的產生了,檔案系統就會嘗試在日常使用中將檔案移動來減少碎片,所以不需要專門的碎片整理程式。

因為這樣的工作方式,你可能會在你的檔案系統塞滿之後看到碎片。如果檔案系統95%(甚至80%)的空間被占用了,你就會開始看到一些碎片。然而,這樣的檔案系統本來就是設計來在普通使用中減少碎片的。

如果你真的在linux上出現了碎片的煩惱,你可能就需要乙個更大的硬碟了。如果你真的需要對乙個檔案系統做碎片整理,最簡單的可能也是最可靠的方法就是將所有檔案拷貝出來,然後清空原來的分割槽,再將檔案拷貝回去。檔案系統就會在你拷貝回去的過程中智慧型地將檔案放置好。

你可以使用fsck命令來檢測一下乙個linux檔案系統的碎片化程度,只需要在輸出中檢視非連續i節點個數(non-contiguous inodes)就可以了。

因為這樣的工作方式,你可能會在你的檔案系統塞滿之後看到碎片。如果檔案系統95%(甚至80%)的空間被占用了,你就會開始看到一些碎片。然而,這樣的檔案系統本來就是設計來在普通使用中減少碎片的。

如果你真的在linux上出現了碎片的煩惱,你可能就需要乙個更大的硬碟了。如果你真的需要對乙個檔案系統做碎片整理,最簡單的可能也是最可靠的方法就是將所有檔案拷貝出來,然後清空原來的分割槽,再將檔案拷貝回去。檔案系統就會在你拷貝回去的過程中智慧型地將檔案放置好。

你可以使用fsck命令來檢測一下乙個linux檔案系統的碎片化程度,只需要在輸出中檢視非連續i節點個數(non-contiguous inodes)就可以了。

為什麼 Linux 不需要碎片整理

想要知道為什麼在正常使用中,linux檔案系統不需要進行碎片整理,而windows要。你需要了解為什麼會生成碎片,而linux和windows這兩個檔案系統,它們分別是如何工作的。什麼是碎片 許多windows使用者,即使沒有太多經驗,我相信他們也會定期進行碎片整理,來加速其電腦。為什麼要這麼做,許...

為什麼Linux不需要碎片整理?

如果你是乙個linux使用者,你可能會聽說linux的檔案系統不需要碎片整理。你也可能會注意到linux的發行版本也都沒有磁碟碎片整理的功能。這是為什麼呢?要理解為什麼linux的檔案系統不會想windows的檔案系統一樣產生碎片,你首先要明白碎片到底是如何產生的,還有這兩大作業系統的檔案系統的工作...

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

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