maa*_*nus 10 windows defragment ntfs filesystems
在 Windows XP 64 上,我下载了一个 1.2 GB 的文件,结果它变成了碎片,如图所示。不幸的是,在从 Piriform Defraggler 获取快照之前,我对其他文件进行了碎片整理,因此您无法看到文件写入时的确切状态。然而,磁盘一直和现在一样空(使用了 25%)并且几乎没有碎片。
NTFS 使用什么块分配算法?它看起来像是随机的,或者可能将它放在磁盘磁头实际所在的位置。
这就是今天在写入 67 MiB 的新文件后发生的情况。它被分成 731 个片段,平均大小只有 95 KiB。该文件用于填补一些空白,但不是全部,它也没有使用巨大的连续可用空间。很奇怪,不是吗?
与PC Guru不同,我真的不认为 Opera 是罪魁祸首。我认为它(与谷歌浏览器相反)并没有告诉 Windows 预期的大小,但是,在很多情况下这是不可能的,操作系统有责任以理智的方式处理它。下图显示了几天后我几乎没有在这个分区上做任何事情后发生的事情 - TEMP 目录和我的所有数据(除了由 Windows 管理的数据)都位于其他地方。Windows 本身似乎不会以SetEndOfFile一种糟糕的方式使用和分割自己的文件(几个大约 40 MB 的小文件有 600 个碎片)。NTFS 似乎没有使用第一个可用扇区,因为中间还有文件,并且在相当空的磁盘的末尾附近(使用率 23%),
小智 12
IIRC,NTFS 文件系统尝试在连续存储中分配文件。然而,只有当文件系统知道文件的大小时,它才能做到这一点。如果您打开一个文件并开始写入它,它将写入适合该文件的“最佳”位置(通常朝向盘片的外部)。但那个“最佳”位置可能不够大,无法容纳该文件。
如果应用程序告诉 NTFS 文件的实际大小(使用SetEndOfFile ()),NTFS 可以更好地为文件寻找连续空间(SetEndOfFile API 使 NTFS 为整个文件分配存储空间)。
| 归档时间: |
|
| 查看次数: |
3101 次 |
| 最近记录: |