如何用数百万个文件来可视化硬盘空间?

我们有一个600 GB的硬盘,几乎已经满了。 它已经被填满了18,501,765个文件(大多是小的19K图像)和7,142,132个文件夹。 很难找出所有的空间都到哪里去了。 我们定期的清理程序没有清理足够的空间,这意味着我们需要把这个驱动作为一个整体来看待,并确定哪些是可以移动或移除的。 我们已经尝试了几个应用程序,到目前为止他们已经被炸毁,或者只是跑了很长的时间来完成。

服务器信息

空间ObServer能够读取18,501,765个文件和7,142,132个文件夹,而不占用任何内存。 我相信这主要是因为它使用SQL后端来存储所有的数据。 不幸的是,所有产品中价格最高的是每台服务器259.95美元。

尝试解决scheme

在我的研究中,我尝试了几种不同的解决scheme,付费和免费 我保存了下面我试过的产品的列表,以便了解每个人的信息。

免费软件

  • JDiskReport – 停留在1000万
  • WinDirStat – 停留在1000万
  • SpaceMonger – 由于提及RAM存储而跳过
  • SpaceSniffer – 停在未知 – 崩溃

支付软件

  • FolderSizes – 停留在1200万(300万个文件夹)
  • TreeSize Professional – 由于提及RAM存储而跳过

更新

更新#1 :我试图分析的服务器有2 GB的RAM,我试过的大多数产品似乎都试图保留内存中的文件/文件夹信息。 18,501,765个文件和7,142,132个文件夹往往会过快。

更新#2 :看起来像WinDirStat的开发人员已经介入足够,告诉我们它可以在64位下编译。 这给了它更多的工作内存,但我不确定它是否足够,除非它们能坚持到磁盘。

假设你的操作系统是Windows …

无论哪种方式你切片,制表数百万的文件总是要花很长时间,并将受到磁盘本身的I / O限制。 我推荐TreeSize Professional 。 或者也许SpaceObServer 。 你也可以试试TreeSize的免费版本。

我经常使用FolderSizes几个1TB的驱动器,几百万个文件没有问题。

绝对可以试试WinDirStat :通过将每个文件描述为按比例绘制的矩形,按文件types进行颜色编码,从而给出了磁盘使用的一个梦幻般的可视化。 点击可视化中的任何项目,您将在目录树中看到它。

标准的32位版本仅限于1000万个文件和2 GB的RAM使用,但是源代码将作为64位应用程序成功构build。 有问题的服务器只有2GB的内存这个事实可能在这个特定的情况下是有问题的,但是大多数的文件服务器将有更多的内存。

编辑#1:我遗憾地发现,当testing包含数百万文件的4TB卷时,WinDirStat Portable索引大约650万个文件后崩溃。 如果驱动器包含600多万个文件,则可能无法解决原始问题。

编辑#2:完整版本的WinDirStat崩溃在1000万个文件和1.9GB使用

编辑#3:我与WinDirStat开发者取得了联系,并且:(1)他们同意这是由x86架构的内存使用限制引起的,(2)提到它可以被编译为64位而没有错误。 更快。

编辑#4:WinDirStat 64位版本的testing成功。 在44分钟内,它索引了1140万个文件并消耗了2.7GB的RAM。

+1的TreeSize产品,但…

你们有关“没有清理足够的空间”这句话让我怀疑:你能用完NTFS MFT预留空间吗? 如果文件系统抓取的MFT空间比最初分配的多,则不会返回到常规文件空间,并且不会在碎片整理操作中显示。

http://support.microsoft.com/kb/174619

“有less量较大文件的卷首先耗尽了无保留的空间,而具有大量相对较小文件的卷首先耗尽了MFT区空间。无论哪种情况,当一个区域或者一个区域如果未保留的空间已满,则用户文件和目录的空间开始从与MFT竞争分配的MFT区域分配;如果MFT区域变满,则从剩余的MFT区域分配新的MFT条目的空间磁盘,再次与其他文件竞争。“

  1. cd \
  2. dir / s> out.txt
  3. 噗! 魔术发生; 或者一个perl黑客出现
  4. 结果!

认真。 我已经用五六百万个文件做了这个。 不确定你正在寻找什么,但一个好的脚本语言会吃这个。

我通常不是Windows用户,但我知道Cygwin的存在。 🙂

如果它工作得很好,就像

du -m /your/path | sort -nr | head -n 50 

或者也许在Cygwin

 du C:\ | sort -nr | head -n 50 

无论如何,这些应该打印出50个最大的目录(以兆字节为单位)。

我发现了Spacemonger的一些问题,并寻找一个实用工具,我可以很容易地转移或从USB棒运行 – 空间嗅探器事实certificate,在这方面是非常灵活的,并容易地处理数兆TB的容量。

du -s可以用于捏,并且会根据需要运行。

在Windows上,我使用SpaceMonger (或更旧的免费版本 )。 在OSX上,我使用磁盘清单X。

看看GetFoldersize

从我脑海中回过头来看,mft表格似乎回忆起原始开源版本jkdefrag给出了一个非常精确的磁盘视图,包括对mft区域的不同着色。 我想我以前曾经用过这样一个经验法则来估计mft大小和碎片。

也不关心chdsk。

可能试试吗?

http://www.freshney.org/xinorbis/

另一个潜在select

我已经在Linux上使用了磁盘使用分析器 – Baobab ,使用Windows服务器上的远程扫描function。 我不知道这是什么限制。

Fedora LiveCD包含猴面包树。 在局域网内的任何一台计算机上启动它。

这全是免费的 – 就像在啤酒和讲话中一样。 也用于商业用途。