如何打印按目录划分的磁盘使用情况明细?

如何打印按目录划分的磁盘使用情况明细?

我的云实例(运行 Web 应用程序)的磁盘使用量莫名其妙地上升,我怀疑那里存在类似存储泄漏的情况。有没有办法按目录细分磁盘使用量,以便找出占用大量存储空间的目录,以便我可以进行调查?

请注意,在这个云实例中,我没有 GUI,必须依赖终端(通过 SSH)。

这个问题和链接的相关问题我想要查找详细情况,而不仅仅是目录的总体使用情况。

答案1

你可以尝试GT5。它会列出当前目录或指定目录内容的磁盘使用情况,按从高到低的顺序排列。例如,如果您发现 /var/tmp 占用了大量空间,您可以执行以下操作:

sudo gt5 /var/tmp

要查看该文件夹内容的使用情况。要查看系统中磁盘使用情况的基本信息,请尝试:

sudo gt5 /

要获得它,只需执行以下操作:

sudo apt-get install gt5

答案2

磁盘使用情况分析器(又名baobab)非常适合快速分析磁盘空间的去向;因此我建议通过带有 X 转发的 SSH 使用磁盘使用情况分析器。

为了正常工作,应该在客户端和服务器上启用 X 转发;它应该在服务器上默认启用,因此只需在当前客户端会话中启用它即可:

ssh -X user@host baobab 

答案3

du -sh *在根目录中执行。

答案4

您可以使用该du命令按目录打印磁盘使用情况明细。该du命令可以递归计算目录及其内容的大小,并且sort可以使用该命令按大小对结果进行排序。

这是一个示例命令,它将按目录打印磁盘使用情况的明细,并按大小排序:

du -h / | sort -h

此命令将计算根目录 ( /) 及其所有子目录的磁盘使用情况,并以人性化格式 ( -h) 显示大小。此sort -h命令将按大小对输出进行排序,最小目录排在最前面,最大目录排在最后。

如果您怀疑存储泄漏来自特定目录,则可以修改命令以从其他目录启动。例如,如果您怀疑泄漏来自目录/var,则可以使用以下命令:

du -h /var | sort -h

这将计算目录及其子目录的磁盘使用情况/var,并按大小排序显示大小。

一旦确定了占用大量存储空间的目录,您就可以进一步调查以确定存储泄漏的原因。

相关内容