Windows下含大量碎文件的NTFS文件系统性能优化

Posted on

在Windows操作系统中,对于含有大量碎文件(指文件数量多,文件体积小的情况)的NTFS格式的卷访问性能较不理想。如果遇到卷打开缓慢的情况,可以尝试进行如下优化。

优化方式

1. 禁用生成8.3格式短文件名:

$ fsutil behavior set disable8dot3 1

8.3格式短文件名指:在每次创建具有较长文件名(大于8个字符)的文件时,NTFS 都会创建一个“8位文件名.3位扩展名”格式的第二个文件项并与之关联。这个特性是DOS/NT3.0时代的产物,现代操作系统或者应用一般不需要该特性,但Windows为了兼容32位以前的应用,该特性依旧会保持开启以做向下兼容。

2. 调整MFT区大小:

$ fsutil behavior set mftzone 4

MFT 区是一个保留区域,它使主文件表(MFT)根据需要进行扩展,以防止产生MFT 碎片。 如果卷上的平均文件大小为2 KB 或更小,则将mftzone值设置为2可能会很有用。如果卷上的平均文件大小为1 KB或更小,则将mftzone值设置为4会很有用。

mftzone的值即为200MB 单元的倍数。默认值为1,即200MB。最大为4,即800MB。

3. 禁用更新文件的最后访问时间:

$ fsutil behavior set disablelastaccess 1

禁用更新文件的最后访问时间可降低对文件和目录上“最后访问时间”的日志记录更新的影响,禁用后可以提高文件和目录访问的速度。

注:

  • 基于文件的最后访问时间查询是准确的,即使所有磁盘上的值不是最新的。NTFS 在查询中返回正确的值,因为准确的值存储在内存中。
  • 如果 NTFS 更新文件的其他属性(如“最后修改时间”,并且“最后访问时间”更新挂起,则NTFS将同时更新“最后访问时间”,这个操作不会影响性能。
  • 禁用更新文件的最后访问时间可能会影响备份和远程存储等依赖于此功能的程序。

设置完成后,重启操作系统使上述配置生效。

END