MFT占磁盘空间高怎么解决

2021-08-19 21:51:37 浏览数 (1)

D盘满,有多种办法定位谁占用的

1、powershell列出D盘top10

dir d: -Recurse -ErrorAction SilentlyContinue | Sort-Object -Descending length | select-object name,length -First 10

2、第三方工具,比如WizTree

如图,用WizTree查看磁盘占用情况发现$MFT占用了已使用量的69.2%

100G的盘,已使用88.7GB,$MFT占用量=88.7GB*69.2%=61.38GB

执行reg query "HKEY_LOCAL_MACHINESystemCurrentControlSetControlFileSystem" /s |findstr NtfsMftZoneReservation

查看值是0

一般来说可以设置1-4,是几就代表占磁盘八分之几

NtfsMftZoneReservation 的类型是DWORD,它的值可以是从1到4(12.5%, 25%, 37.5%, 50%)

关于MFT占磁盘空间大小,用fsutil volume allocationreport E: (盘符具体化成你要查看的)

我遇到过MFT占磁盘空间超过60%的case,跟微软有交流,不是定义了1-4,是几就代表占磁盘八分之几,60%是不是已经超过八分之四了,如何解释?微软的解释是:

MFT占用很大空间,肯定是有超大量文件生成:

①为什么会有超大量的文件?如果是意外产生的,属于偶然性,可能通过拷走当前文件,然后重新格式化分区来shrink MFT。

②MFT空间不能被缩小,但是可以通过defrag工具整理成连续空间。

③如果系统就是会经常产生超大量文件,按①shrink之后,可能会再次产生这么多文件,从而造成MFT变大,这种情况,莫不如一开始就配置NtfsMftZoneReservation 为4,这样MFT不会碎片化而影响性能变差,但是如果文件数过多,八分之四空间占满后,超出的部分会碎片化分布继续占用磁盘空间,会影响文件系统性能,此时建议扩容磁盘进行磁盘碎片整理。

0 人点赞