我需要对Unix文件系统进行碎片整理吗?


24

我知道Windows文件系统对碎片非常敏感,而Unix(例如UFS,ZFS,ext3或ext4)不那么敏感。

但是,是否有任何理由对这些文件系统进行碎片整理?

如果是这样,可以使用哪些工具?


通常,大多数现代文件系统不需要手动进行碎片整理。这包括ext3,NTFS,UFS等。
克里斯·S

3
克里斯,我无法对其他人发表评论,但是NTFS无疑可以从碎片整理中受益。它极大地减少了由碎片引起的头部抖动,并因此缩短了响应时间。
约翰·加迪尼尔

@JohnGardeniers通过碎片整理,每个支持碎片化的FS都会受益。但是,这是没有必要的,与旧文件系统相比,由于碎片导致的性能下降受到限制。
克里斯S

Answers:


15

引用Wikipedia的有关Ext3文件系统的页面

现代Linux文件系统通过将文件中的所有块保持紧密在一起来最小化碎片,即使它们不能存储在连续的扇区中也是如此。某些文件系统(例如ext3)可有效分配最接近文件中其他块的空闲块。因此,不必担心Linux系统中的碎片


但是,碎片加起来了。我正在尝试摇动,如下格特所建议。
2010年

9

实际上,NTFS对碎片并不那么敏感。在所有方面,NTFS都比FAT32更好,并且是完全现代的文件系统。

自1996年以来,我一直在家里运行Linux,从未对任何文件系统进行碎片整理。我从来没有需要。我在这方面所做的最大努力是注意将要放在文件系统上的文件类型,并在我使用时使用适当的选项mkfs。例如,如果文件系统主要包含大文件,则将使用更大的块大小。如果我要创建一个巨大的文件系统,但我知道它永远不会超过1,000,000个文件,那么我将使用该-N 1000000选项来限制inode的数量。通常,如果某种特定类型的文件将占用文件系统,则在创建时会将其调整为任务。


6

不需要整理碎片。但是,如果您仍然想这样做,可以随时使用晃动


3

虽然ext2和ext3不提供它(并且通常需要较少的东西,因为它们首先将文件相对保持在一起),但是ext4确实提供了碎片整理功能本文讨论了e4defrag程序。但是ext4是一个新的文件系统。

但是,与Windows相比,Linux文件系统在不碎片化方面要好得多,因此我不必担心。


1
ext2和ext3 可以进行碎片整理。他们只是在正常情况下不需要它。
Eddie

请记住,Windows FS也永远都不需要进行碎片整理-NT3.51像ext3一样用于在块的两侧分配空间,但是由于某种原因,MS在NT4中将其废弃了。
gbjbaanb


1

整理linux文件系统的唯一好理由是缩小已经膨胀的虚拟硬盘。

零填充未使用的空间,对碎片进行整理,然后从VM管理器压缩虚拟磁盘。


1

您可以对XFS文件系统(使用xfs_fsr [dev|file])和btrfs(使用btrfs filesystem defragment [file]

对于所有其他磁盘,只需确保您至少有80%的可用空间或几十GB(以较小者为准),并且不必担心磁盘碎片整理。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.