红联Linux门户
Linux帮助

为什么Linux不需要碎片整理

发布时间:2014-11-07 11:00:22来源:linux网站作者:linux人

如果你是一个Linux用户,你可能听说过,不需要对你的Linux文件系统进行碎片整理。你可能还会注意到,Linux发行版并没有附带磁盘碎片整理工具。这是为什么呢?

想要知道为什么在正常使用中,Linux文件系统不需要进行碎片整理,而Windows要。你需要了解为什么会生成碎片,而Linux和Windows这两个文件系统,它们分别是如何工作的。


什么是碎片

许多Windows用户,即使没有太多经验,我相信他们也会定期进行碎片整理,来加速其电脑。为什么要这么做,许多人也不知道。

简单的说,每个硬盘驱动器有许多的扇区,每一个扇区都可以包含一些小的数据片段。对于特别大的文件,就必须存储在许多不同的扇区里。再比方说文件系统中保存的一些不同的文件,其中每个文件都将存储在连续空间的扇区里。后来,你更新你原先保存的文件,增加文件的大小。文件系统将会尝试存储文件的新增部分到原先扇区空间的旁边。不幸的是,如果没有足够的连续空间,该文件必须被分割成多个片段 — 这就碎片生成的原因。当你的硬盘读取文件的时候,磁头必须跳过硬盘上不同的物理位置之间来读取每个扇区的数据 — 这就是变慢的原因。


碎片整理是一个集中的过程,移动比特文件,以减少碎片,确保每个文件在驱动器上是连续的。

当然,固态硬盘不同,它没有移动部件,不应该进行碎片整理 - 对SSD进行磁盘整理实际上会减少其使用寿命。此外,最新版本的Windows上,你不需要担心整理你的文件系统碎片 - Windows会自动帮你做。

想要了解更多的最佳碎片整理实践的信息,请阅读这篇文章:你真的需要整理你电脑的碎片吗?


Windows文件系统是如何工作的

微软旧的FAT文件系统,最后一次看到默认在Windows 98和ME,现在也使用在USB闪存盘上,它不能智能安排文件。当你保存文件到FAT文件系统上,它会尽可能将其保存在接近磁盘开始的空间上。当你保存第二个文件,它会保存紧接在第一个文件的后面, 以此类推。当原始文件大小增长,附近没有空闲空间为他们增长,他们总是会生成碎片。

微软新的NTFS文件系统,使用在Windows XP和2000上,似乎变得更智能一点儿,它给硬盘上的文件周围分配了更多的“缓冲”自由空间。虽然,任何Windows用户可以告诉你,随着时间的推移,NTFS文件系统仍然会生成碎片。

由于使用这些文件系统进行工作,他们需要进行碎片整理,以确保其性能不下降。微软最新版本的Windows可以在后台定时运行碎片整理来缓解了这个问题。


Linux文件系统是如何工作的

Linux有ext2、ext3和ext4文件系统,ext4文件系统使用在Ubuntu和其他当前的Linux发行版本中,它有着更智能的文件分配方式,而不是将多个文件相互靠近放在硬盘上。Linux文件系统分散在不同的文件磁盘,并留下了大量的自由空间。当一个文件需要编辑增长,通常是会有足够的空闲空间。如果碎片确实发生,文件系统将会试图移动文件,来减少碎片。在正常使用情况下,不需要碎片整理工具。


如果你的文件系统已满或是95%(甚至80%),你才可能开始看到一些碎片。总之,文件系统的设计,在正常使用过程中可以避免碎片的生成。

如果你的Linux上有碎片问题,你可能需要一个更大的硬盘。如果你确实需要整理文件系统,最简单的、最可靠的方法可能是:从分区中复制备份所有的文件,再从分区中清除所有文件,然后在将文件复制回到分区。这样文件系统将会智能地分配文件复制到磁盘上。


你也可以使用 fsck 命令衡量Linux文件系统的碎片 - 寻找输出“非相邻节点”。