![是否有任何磁盘碎片整理 GUI,如 piriform 的 Defraggler for Linux?](https://linux22.com/image/1129370/%E6%98%AF%E5%90%A6%E6%9C%89%E4%BB%BB%E4%BD%95%E7%A3%81%E7%9B%98%E7%A2%8E%E7%89%87%E6%95%B4%E7%90%86%20GUI%EF%BC%8C%E5%A6%82%20piriform%20%E7%9A%84%20Defraggler%20for%20Linux%EF%BC%9F.png)
我正在寻找一个可以直观显示 ext4 碎片的工具。类似于碎片整理程序、Puran Defrag 和好多其它的(UltraDefrag 是最好的)显示您的磁盘...(大多数好的 UI 都会显示您将鼠标悬停在块上的文件)
有没有与 Linux 相关的东西?
我想观察我的磁盘并看看碎片整理到底有多么“不必要”。
我不想使用 e4defrag,因为我不确定它能否向我显示它对我的磁盘到底做了什么。
编辑(2021):似乎在这个问题的三年前就已经有人问过一个类似的、不太受欢迎的问题,并提出了建议的工具: https://unix.stackexchange.com/questions/30743/is-there-a-tool-to-visualize-a-filesystem-allocation-map-on-linux
答案1
问题不在于是否存在碎片。所有文件系统都会存在一些碎片。
问题是碎片是否足以影响性能。
在 Linux 文件系统上,碎片率通常低于 5%,除非磁盘已满 99%,否则通常为 1% 或 2%。如果磁盘已满,您会看到大量碎片,但在这种情况下,问题在于磁盘已满。
$ sudo fsck.ext2 -fn /dev/sda1
e2fsck 1.42 (29-Nov-2011)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Ubuntu_Rescue: 291595/1222992 files (**0.2% non-contiguous**), 1927790/4882432 blocks
所以是的,存在 0.2% 的碎片,但这远低于影响性能的 85% 的阈值。
查看博客文章为什么 Linux 不需要碎片整理?。
在 Windows 上,碎片率达到 50% 或更高并不罕见(我曾见过 200% 以上)。因此 Windows 需要碎片整理工具。
在 Windows 上,他们建议以大约 85% 的阈值进行碎片整理。
看:
因此,底线是,碎片整理在 Linux 上不是一个大到足以影响性能的问题,因此没有重要的碎片整理工具,而你担心它只是在浪费时间。
答案2
让我们保持简单...
1)如果您使用 EXT4,则无需进行碎片整理,除非您的磁盘已满约 90% 且 IO(删除、读取、写入)繁重。
2)如果你发现磁盘占用率约为 90%,而且碎片化严重,那么你的问题(恕我直言)是磁盘空间不足,而不是碎片化。换一个大一点的磁盘吧!
3)如果由于某种原因您无法获得更大的磁盘,那么只需将整个(或大块)复制到另一个磁盘,然后再复制回来。高级 EXT4 FS 会连续地将其写回,从而消除碎片。对于来自 Windows 的转换者,可以使用 Gnome Scheduler 将此安排为 cron.daily 作业。
最佳解决方案如果您遇到上述第 2 点的问题,请购买更大的磁盘!
答案3
弗拉格维尤满足了我的需要,甚至更多。
正如您所看到的,如果我点击地图的某个区域,它会显示该区域中有哪些文件,以及它们的碎片程度。
btrfs filesystem defrag
如果我愿意的话,现在我就可以使用了。
在具有 BTRFS 文件系统的 Ubuntu 18.04 amd64 上运行。
答案4
人们似乎忘记了,一个好的现代碎片整理程序不仅仅是碎片整理程序,而且还是优化程序。硬盘盘片的不同区域以不同的速度读取。越靠近磁盘中心,文件读取速度越慢。现代碎片整理程序会分析文件使用情况,将经常读取的文件放在盘片的外边缘,而不经常使用的文件则移到中心。有些甚至允许将标记为存档的文件尽可能靠近中心。我曾在 Linux 系统上看到过大型文件被分成 1000 个段。
我每个月都会对服务器进行碎片整理。我用来下载种子的临时存储驱动器真的很糟糕。
$ xfs_db -r /dev/md6 -c frag
实际 462546,理想 636,碎片因子 99.86% 请注意,这个数字基本上毫无意义。 此文件系统上的文件平均每个文件有 727.27 个扩展区
那些声称 Linux 文件系统不需要碎片整理的人只是在重复别人的话,并且从未真正检查过。