如何查看特定文件的碎片化情况?

10

有没有一种工具可以显示我在硬盘上特定文件的碎片程度?(如果我按线性方式读取该文件,物理磁盘需要执行多少次寻道操作)

5个回答

17

Sysinternals 工具contig 可以通过参数 -a 处理一个文件或者一个目录及其子目录下的所有文件。


@SmitJohnth,哇,这还有用吗?我以为现在的SSD已经不太会有碎片问题了。 - Albin Sunnanbo
SSD仍然太昂贵,无法将所有垃圾存储在其中,即使硬盘驱动器的价格在过去几年中几乎没有下降。我制作了一个大文本文件,尝试在其中搜索,然后注意到它太慢了。我测量了读取速度,然后开始怀疑某些问题...现在已经解决了。 - Smit Johnth

10

7

3
当然,“磁盘碎片”值得怀疑:
1. 文件可能在同一个柱面上分成几段。没有寻道开销,只需等待旋转延迟。或者不是这样的,因为这些部分可能是最优顺序(机会接近于零)。
2. 文件可能是“连续的”,但跨越多个柱面。即使顺序读取也会导致搜索。
3. 文件可能在条带集上,并且您不知道边界在哪里。您可能会跳到另一个控制器、另一个主轴或同一驱动器上的另一个分区。
对于您得出的结论要小心。

3

fsutil file queryallocranges offset=<o> length=<l> <file> 这个命令可以显示文件的范围,需要管理员权限。


这仅检查稀疏文件的范围。如果文件是实心但是碎片化的,它将显示为一个块。 - Michael Yutsis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接