GeoffreyF67 Asked: 2009-05-30 06:59:57 +0800 CST2009-05-30 06:59:57 +0800 CST 2009-05-30 06:59:57 +0800 CST 碎片整理程序对 *nix 有用吗? 772 来自 Windows 环境,我很好奇碎片整理程序在 *nix 中是否有用。更具体地说,OS X. mac-osx defrag 9 个回答 Voted Best Answer Chealion 2009-05-30T07:07:37+08:002009-05-30T07:07:37+08:00 这是一个有点是,不是答案。在某些情况下很有用,但与 FAT 或常规 HFS 相比,它不是问题。所有文件系统都会碎片化,但较新的文件系统更能抵抗如此严重的碎片化。 说到 Mac OS X,特别是 HFS+ 与旧系统相比,在试图防止事物碎片化方面做得足够好,但它仍然发生在不同的规模上。自 10.3 (Panther) 以来,操作系统本身也会对“小”(20MB 或更小)文件进行碎片整理。 碎片仍然会发生,您会看到性能下降,尤其是在视频编辑系统或需要能够快速读取或写入大文件到磁盘的工作流程中。对于您的标准用户 - 几乎没有问题。 我使用和运行的 OS X 硬盘碎片整理最流行的选项是: 将硬盘克隆到另一个驱动器并返回。这是使用Carbon Copy Cloner或SuperDuper完成的,并且需要额外的硬盘驱动器。如果作为备份例程的一部分完成,则时间命中可能并不可怕,但这样做是免费的。 iDefrag、Drive Genius和一些其他实用程序也会对您的硬盘进行碎片整理。我个人更喜欢 iDefrag。 jldugger 2009-05-30T07:11:58+08:002009-05-30T07:11:58+08:00 对,他们是。人们会告诉你“UNIX 文件系统永远不会碎片”之类的谎言。他们是骗子,你应该听我的。Firefox 使用的 sqlite 数据库等文件会在您使用浏览器时定期发送少量写入,因此会很快碎片化。有一次,我的个人资料有一个包含三千多个片段的 sqlite 数据库。 这些 sqlite 数据库包含浏览器历史记录,并用于向您建议文本字符串的地方,例如 URL 完成或表单自动填充。如果它们支离破碎,你就会受苦。OSX 将 POSIX fsync() 实现为无操作(标准允许,但不是很好)的决定可能掩盖了其中的一些。因此,您不需要编辑视频来触发不良条件,只需在 OSX 上正确调用 fsync() 的大型历史数据库即可。 filefrag在 Ubuntu 上,您可以使用程序包中的实用程序检查文件的碎片程度e2fsprogs。它需要 root 权限,但可以让您查看文件有多少个非连续区域。正如包名所暗示的,它(还)不支持 ext4。希望 ext4 的延迟分配和范围支持减少了野外的碎片。 Filipe Miguel Fonseca 2009-05-30T07:07:35+08:002009-05-30T07:07:35+08:00 据我所知,像 EXT 或 HFS 这样的 unix 文件系统不会像 FAT 或 NTSF 那样受到碎片的影响,至少不会在同一个数量级上。 在此处阅读有关它的更多信息,并查看有关磁盘维护的Apple支持页面 Cristian Ciupitu 2009-05-30T07:32:31+08:002009-05-30T07:32:31+08:00 这取决于您使用的是什么文件系统,最重要的是取决于您如何使用它。大多数现代文件系统不太容易产生碎片,但碎片整理总是有用的。 您可以使用xfs_fsr对 XFS 文件系统进行碎片整理。它有一些限制,但总比没有好。 Blair Zajac 2009-05-30T14:30:28+08:002009-05-30T14:30:28+08:00 Mac OS X 已经对小于 20 MB 的文件进行碎片整理。见这篇文章: Panther 有自动碎片整理功能吗? osgx 2010-02-04T17:23:40+08:002010-02-04T17:23:40+08:00 ext2/ext3 可能有巨大的可用空间碎片。可以使用 e2freefrag 实用程序进行检查。 duffbeer703 2010-02-04T17:33:44+08:002010-02-04T17:33:44+08:00 这是一个宗教问题。IMO,碎片化只是特定工作负载的一个问题,并且自 NT4 以来就不太相关了。 我遇到的例外情况是你有很多小写和大写混合的情况。想到的一个例子是一个繁忙的 Windows 文件服务器,用户在做一些愚蠢的事情,比如在服务器上运行活动的 PST 文件。另一个是带有 Maildir 格式邮箱的 linux pop3 服务器。 SilentW 2009-05-30T10:05:56+08:002009-05-30T10:05:56+08:00 HFS+ 会分片,所有文件系统都会。但是,它似乎并没有受到影响,至少不会像 NTFS / FAT32 那样受到影响。 一个警告 - 大约 5 年前,我不再注意到文件碎片导致性能下降,至少就本地文件而言。IMO,SATA 带宽和 7200RPM 硬盘使这个问题几乎不明显。 osgx 2010-02-05T08:05:22+08:002010-02-05T08:05:22+08:00 关联 这是 Mac OS X internals 书中的一章。描述了“Mac OS X 中针对碎片的内置措施”,还提供了碎片检查工具。 5台苹果电脑上的碎片分析也做了。
这是一个有点是,不是答案。在某些情况下很有用,但与 FAT 或常规 HFS 相比,它不是问题。所有文件系统都会碎片化,但较新的文件系统更能抵抗如此严重的碎片化。
说到 Mac OS X,特别是 HFS+ 与旧系统相比,在试图防止事物碎片化方面做得足够好,但它仍然发生在不同的规模上。自 10.3 (Panther) 以来,操作系统本身也会对“小”(20MB 或更小)文件进行碎片整理。
碎片仍然会发生,您会看到性能下降,尤其是在视频编辑系统或需要能够快速读取或写入大文件到磁盘的工作流程中。对于您的标准用户 - 几乎没有问题。
我使用和运行的 OS X 硬盘碎片整理最流行的选项是:
将硬盘克隆到另一个驱动器并返回。这是使用Carbon Copy Cloner或SuperDuper完成的,并且需要额外的硬盘驱动器。如果作为备份例程的一部分完成,则时间命中可能并不可怕,但这样做是免费的。
iDefrag、Drive Genius和一些其他实用程序也会对您的硬盘进行碎片整理。我个人更喜欢 iDefrag。
对,他们是。人们会告诉你“UNIX 文件系统永远不会碎片”之类的谎言。他们是骗子,你应该听我的。Firefox 使用的 sqlite 数据库等文件会在您使用浏览器时定期发送少量写入,因此会很快碎片化。有一次,我的个人资料有一个包含三千多个片段的 sqlite 数据库。
这些 sqlite 数据库包含浏览器历史记录,并用于向您建议文本字符串的地方,例如 URL 完成或表单自动填充。如果它们支离破碎,你就会受苦。OSX 将 POSIX fsync() 实现为无操作(标准允许,但不是很好)的决定可能掩盖了其中的一些。因此,您不需要编辑视频来触发不良条件,只需在 OSX 上正确调用 fsync() 的大型历史数据库即可。
filefrag
在 Ubuntu 上,您可以使用程序包中的实用程序检查文件的碎片程度e2fsprogs
。它需要 root 权限,但可以让您查看文件有多少个非连续区域。正如包名所暗示的,它(还)不支持 ext4。希望 ext4 的延迟分配和范围支持减少了野外的碎片。据我所知,像 EXT 或 HFS 这样的 unix 文件系统不会像 FAT 或 NTSF 那样受到碎片的影响,至少不会在同一个数量级上。
在此处阅读有关它的更多信息,并查看有关磁盘维护的Apple支持页面
这取决于您使用的是什么文件系统,最重要的是取决于您如何使用它。大多数现代文件系统不太容易产生碎片,但碎片整理总是有用的。
您可以使用
xfs_fsr
对 XFS 文件系统进行碎片整理。它有一些限制,但总比没有好。Mac OS X 已经对小于 20 MB 的文件进行碎片整理。见这篇文章:
Panther 有自动碎片整理功能吗?
ext2/ext3 可能有巨大的可用空间碎片。可以使用 e2freefrag 实用程序进行检查。
这是一个宗教问题。IMO,碎片化只是特定工作负载的一个问题,并且自 NT4 以来就不太相关了。
我遇到的例外情况是你有很多小写和大写混合的情况。想到的一个例子是一个繁忙的 Windows 文件服务器,用户在做一些愚蠢的事情,比如在服务器上运行活动的 PST 文件。另一个是带有 Maildir 格式邮箱的 linux pop3 服务器。
HFS+ 会分片,所有文件系统都会。但是,它似乎并没有受到影响,至少不会像 NTFS / FAT32 那样受到影响。
一个警告 - 大约 5 年前,我不再注意到文件碎片导致性能下降,至少就本地文件而言。IMO,SATA 带宽和 7200RPM 硬盘使这个问题几乎不明显。
关联
这是 Mac OS X internals 书中的一章。描述了“Mac OS X 中针对碎片的内置措施”,还提供了碎片检查工具。
5台苹果电脑上的碎片分析也做了。