由于我来自 Windows 环境,因此我很好奇碎片整理程序在 *nix 中是否有用。更具体地说,是 OS X。
答案1
答案有点儿是肯定的,不是。在某些情况下很有用,但与 FAT 或常规 HFS 相比,它的问题较少。所有文件系统都会产生碎片,但较新的文件系统更能抵抗碎片化。
就 Mac OS X 而言,与旧系统相比,HFS+ 在防止碎片化方面做得还不错,但碎片化现象仍然存在,只是程度不同。自 10.3 (Panther) 以来,操作系统本身也会动态整理“小”(20MB 或更小)文件。
碎片化仍然会发生,并且您会看到性能因此下降,尤其是在视频编辑系统或需要能够快速读取或写入大文件到磁盘的工作流程中。对于您的标准用户来说 - 几乎不是问题。
我使用过和遇到过的对 OS X 硬盘进行碎片整理的最流行的选项是:
答案2
是的,确实如此。人们会给你撒谎,比如“UNIX 文件系统永远不会碎片化”。他们都是骗子,你应该听我的。像 Firefox 使用的 SQLite 数据库这样的文件会很快产生碎片,因为它们会在您使用浏览器时定期进行小的写入。我的个人资料中有一个包含三千多个碎片的 SQLite 数据库。
这些 sqlite 数据库包含浏览器历史记录,并用于向您建议文本字符串,例如 URL 完成或表单自动填充。如果它们支离破碎,您将会受到影响。其中一些可能被 OSX 决定将 POSIX fsync() 实现为无操作(标准允许,但不太好)所掩盖。因此,您不需要编辑视频来触发不良条件,只需一个在 OSX 上正确调用 fsync() 的大型历史数据库即可。
filefrag
在 Ubuntu 上,您可以使用软件包中的实用程序来检查文件的碎片程度e2fsprogs
。它需要 root 权限,但可以让您查看文件有多少个不连续的区域。正如软件包名称所示,它还不支持 ext4。希望 ext4 的延迟分配和扩展支持能够减少实际的碎片。
答案3
答案4
Mac OS X 已对小于 20 MB 的文件进行碎片整理。请参阅此文章: