如何确定我的分区是如何满的,即使它没有出现?

分享于 

3分钟阅读

电脑

  繁體 雙語

问题:

我在FreeBSD上运行了"df -kh",我看到/var 接近 100%。 it,但是我已经 trimmed partition分区partition分区 itself partition partition partition partition/var -ksh *" itself partition partition,它 says。 但这并不意味着。

我运行下面的命令我找不到任何。


 find. -type f -size +2000 -exec ls -lh {} ; | awk '{ print $9":" $5 }'



我甚至使用"I -ksh *""对文件夹进行了标识,以识别具有大量磁盘使用的文件夹。 我想压缩。删除或者移动文件,因为它的他分区有空间,但是我不能找到所有磁盘空间。

我还应该做什么来找到占用所有空间的文件和文件夹?


回答 1:

我将运行以下命令,以便你对所有要使用的文件都有一个漂亮的快照:


du -kx/var | sort -n | tee/var/tmp/du_results.out



。然后看看最后的几百行。

这将捕获(。捕获大量小文件) 所有目录的大小,以及捕获普通的大文件。 请注意,我正在使用 -h ( 人类可读),因此结果很容易对它的进行排序。 还要注意,我并没有使用 /var/*,它会选择任何安装在 /var 中的内容。

可能的原因包括,按可能的概率顺序:

  • 过时链接的文件请尝试 @not simon建议的( lsof/var )。 /var/tmp 有时是找到这些。 如果没有安装 lsof,则可以使用 fstat -f/var | sort -k 8 -n 不显示文件名,但至少显示大小( 最小到最大),节点和哪个进程打开文件。

  • 文件系统 损坏从单个用户模式运行 fsck 以检查 /var

  • 在挂载点隐藏的旧文件。 如果 /var 下有任何挂载,请卸载它们,然后再次运行搜索/诊断。 最安全的方法是在单一用户模式下启动,而不需要安装任何东西就可以安装 /var

文件大小报告中的差异可能是由于稀疏或者压缩文件的存在。 你可以使用 -A 选项来处理明显的文件大小,而不是磁盘使用情况,这可能会解释一些差异。 把它放进去,然后把它拿出来,比较结果。 在我的大约 3.6 /var 分区中,-A的结果约为 100Mb。


回答 2:

你认为你可能有未链接的未链接文件? 尝试查看 lsof/var的输出,看看是否列出了异常大的文件。


回答 3:

我也遇到了一个类似的问题。 挂载点仍然存在,但是由于某些原因,文件正在写入目录在分区上,分区包含挂载点。 这可以能不适用于你的操作系统,但是引导救援系统并查看分区可能会显示更多。



PAR  分区