积极答复者
关于08R2 上存储大量小文件的时候。占用大量硬盘空间。但删除文件后硬盘空间释放出来的容量却很少

问题
答案
-
你好,
这个问题是由NTFS文件系统引起的。创建和格式化 NTFS 卷时,将创建 NTFS 图元文件。其中的一个图元文件称为主文件表 (MFT)。它在创建时非常小(大约 16 KB),但将随着在卷上创建文件和文件夹而增大。创建文件时,该文件会作为文件记录段 (FRS) 输入 MFT。FRS 的大小始终是 1024 字节 (1 KB)。在将文件添加到卷中时,MFT 将增大。但是,当删除文件时,相关的 FRS 将被标记为可供再次使用,但 FRS 和相关 MFT 分配总数保持不变。这就是在您删除大量文件后仍不能重新获得由 MFT 使用的空间的原因。
更多信息请参考下面的KB。
如何找出并纠正 NTFS 卷上的磁盘空间问题
http://support.microsoft.com/kb/814594/zh-cn你可以在powershell,运行如下命令查看你的MFT占用的空间。
$drive = Get-WmiObject -Class Win32_Volume -Filter "DriveLetter = 'c:'" c代表你所查看的盘符。
$report = $drive.DefragAnalysis()
$report.DefragAnalysis
希望可以帮助到你。- 已标记为答案 Yolanda ZhuModerator 2014年8月8日 8:40
全部回复
-
通过磁盘清理或者 CHKDSK 可以找回这种浪费的空间。
如果有机会重新格式化,可以在格式化选项中修改最小单元以减少这种问题。
Alexis Zhang
http://mvp.support.microsoft.com/profile/jie
http://blogs.itecn.net/blogs/alexis推荐以 NNTP Bridge 桥接新闻组方式访问论坛。
本帖是回复帖,原帖作者是楼上的 <Anson_CN>;
| 我的问题环境是这样子的。
| 我这里有几个系统。系统所产生的文件都很小。而且很多。磁盘格式为NTFS 格式。 -
你好,
你是如何知道20M文件占用了2G空间的。通过右击相应文件夹,查看其属性的“大小“和”占磁盘空间“么?
如果是这种情况,磁盘清理会清除占用过的磁盘簇。请在删除文件后,参考下面的文档来进行磁盘清理。
驱动器的常规属性和 cleanmgr.exe 磁盘清理选项不是默认情况下出现在 Windows Server 2008 或 Windows Server 2008 R2
http://technet.microsoft.com/zh-cn/library/ff630161(v=ws.10).aspx另外,2G空间的占用可能由其他文件导致,如果磁盘清理无法实现空间释放,请参考Alexis Zhang的意见修改最小单元并进行格式化操作。
希望可以帮助到你。
-
如果是这样的话,你确定这 2GB 的空间是浪费掉的吗?会不会有什么文件还在真正占用这些空间?
在文件夹选项中设置显示受保护的系统文件、显示隐含的文件夹文件,包括 Recycled、System Volume Information 等所有隐藏的文件夹,把所有数据加起来,显示多大?
Alexis Zhang
http://mvp.support.microsoft.com/profile/jie
http://blogs.itecn.net/blogs/alexis推荐以 NNTP Bridge 桥接新闻组方式访问论坛。
本帖是回复帖,原帖作者是楼上的 <Anson_CN>;
| 磁盘清理和chkdsk 这两个 包括disk cleanup 都做过了。依然没能释放出应有的容量呢!
| 还有其它的解决方案吗?谢了。 -
现在所有这些隐含文件加在一起一共有多大?是一个远远小于 2GB 的大小,但是分区属性显示的已用空间还是 2GB 加上这些文件的大小?
Alexis Zhang
http://mvp.support.microsoft.com/profile/jie
http://blogs.itecn.net/blogs/alexis推荐以 NNTP Bridge 桥接新闻组方式访问论坛。
本帖是回复帖,原帖作者是楼上的 <Anson_CN>;
| 在磁盘那里真的是少了这些空间的。除了删除那个文件外。没有其它的操作。其它的文件怎么会无故占用这些空间呢。
| *在文件夹选项中设置显示受保护的系统文件、显示隐含的文件夹文件, -
那么现在实际占用的总大小应该是多少呢?如果再写入一个 2GB 的数据,会即时显示多占用 2GB 么?
Alexis Zhang
http://mvp.support.microsoft.com/profile/jie
http://blogs.itecn.net/blogs/alexis推荐以 NNTP Bridge 桥接新闻组方式访问论坛。
本帖是回复帖,原帖作者是楼上的 <Anson_CN>;
| 我在做删除动作前就已经计算过所有的隐藏文件大小。。跟删除后的所有隐藏文件大小是一样的。没有变化
| -
我还真试不出你说的情况。因为写入的数据个体小于簇而产生磁盘空间浪费是有的,但基本是可以找回的。
Alexis Zhang
http://mvp.support.microsoft.com/profile/jie
http://blogs.itecn.net/blogs/alexis推荐以 NNTP Bridge 桥接新闻组方式访问论坛。
本帖是回复帖,原帖作者是楼上的 <Anson_CN>;
| 如果再写入一个2GB的数据。会即时显示占用就是2GB ,.其实这个环境很容易做出来了。你可以建大量的1k的文本文件 。再复制。就很容易出现我说的这个情况了。
-
你好,
这个问题是由NTFS文件系统引起的。创建和格式化 NTFS 卷时,将创建 NTFS 图元文件。其中的一个图元文件称为主文件表 (MFT)。它在创建时非常小(大约 16 KB),但将随着在卷上创建文件和文件夹而增大。创建文件时,该文件会作为文件记录段 (FRS) 输入 MFT。FRS 的大小始终是 1024 字节 (1 KB)。在将文件添加到卷中时,MFT 将增大。但是,当删除文件时,相关的 FRS 将被标记为可供再次使用,但 FRS 和相关 MFT 分配总数保持不变。这就是在您删除大量文件后仍不能重新获得由 MFT 使用的空间的原因。
更多信息请参考下面的KB。
如何找出并纠正 NTFS 卷上的磁盘空间问题
http://support.microsoft.com/kb/814594/zh-cn你可以在powershell,运行如下命令查看你的MFT占用的空间。
$drive = Get-WmiObject -Class Win32_Volume -Filter "DriveLetter = 'c:'" c代表你所查看的盘符。
$report = $drive.DefragAnalysis()
$report.DefragAnalysis
希望可以帮助到你。- 已标记为答案 Yolanda ZhuModerator 2014年8月8日 8:40