我收到一条警告,提示我的根卷空间不足。的确
sudo ssm list
给我
Volume Pool Volume size FS FS size Free Type Mount point
-------------------------------------------------------------------------------------------------------------
/dev/centos/root centos 60.00 GB ext4 60.00 GB 3.02 GB linear /
/dev/centos/swap centos 31.75 GB linear
/dev/centos/lv-tmp centos 9.00 GB ext4 9.00 GB 8.03 GB linear /var/tmp
/dev/centos/lv_common centos 93.00 GB ext4 93.00 GB 86.71 GB linear /common
/dev/centos/lv_local centos 4.00 GB ext4 4.00 GB 3.60 GB linear /local
/dev/centos/lv_acme centos 93.00 GB ext4 93.00 GB 68.88 GB linear /acme
/dev/centos/home centos 100.00 GB ext4 100.00 GB 68.15 GB linear /home
我想要的是查看受影响的根卷上的目录大小的视图,也许是在树视图中。我尝试了很多不同的方法,但他们似乎没有给我这些信息。 du 和 df 的变体似乎没有提供正确的信息。我尝试将 /data 中的一个大文件夹移动到 /acme 目录,并将该文件夹更改为软链接,但由于某种原因并没有任何区别。磁盘使用分析器等各种工具提供了相互冲突的信息,k4dirstat 不允许我选择卷,baobab 提供了不同的冲突信息并且不显示可用空间。
关于如何查看逻辑卷的目录大小有什么建议吗?
跟进:
事实证明,问题是在我将 /data 文件夹中的大文件夹移动并用软链接替换后,由于某种原因ssm list
没有更新其信息。 df 表明移动文件夹确实有效果。所以我还不知道我的问题的答案(尽管我可以尝试按照下面 al mamun 的建议安装树),但实际上,问题已经解决了,我会知道在这种情况下要怀疑 ssm。
答案1
您需要的变体是
du -x /
仅显示一个文件系统内的目录。
通常人们希望-h
获得更易于阅读的尺寸。我通常通过管道它sort -h
,以在最后显示最大的目录:
du -xh / | sort -h
du
有一些限制。它看不到已删除的文件,也看不到“隐藏”的目录,因为顶部安装了不同的文件系统。如果您担心自己可能已达到限制,您应该提供有关您担心的原因的具体详细信息(输出/数字/计算)。
答案2
您可以通过不同的方式检查目录大小。使用 tree --du 获取树视图或使用 du -sh * 。我不太确定从 /data 移动到 /acme 的意思没有帮助。它没有释放任何磁盘空间吗?您可以将数据移动到其他 lv 或增大根 lv 来解决磁盘空间问题。
答案3
除了已经提到的之外tree --du
,值得指出的是,某些实现du
(例如 GNU Coreutils 中的实现)有一个--threshold
选项,可以防止它列出大于指定数量(或小于指定数量,如果阈值带有前缀)的目录和文件。减号)。
仅递归列出当前目录中大于 1 GiB 的项目:
$ du -ahx --threshold=1GiB .
-a
告诉du
也列出文件。
-h
以人类可读的格式打印尺寸。
使用该-x
选项,可以跳过不同文件系统中的对象。在检查包含安装点的卷时很有用。
但有一些警告:du
将无法解释 1) 仍然打开的已删除文件和 2) 可能位于安装点“下方”的内容(即已用作安装点的目录的内容)。您可以在以下问题的答案中找到更多相关信息磁盘满了如何解决。
最后,追踪 Linux 上磁盘空间的去向?有大量用于检查已用空间的工具和命令。