答案1
好吧,如果某些东西占据了很大的空间,那么明智的做法是:
找出占用大量空间的东西。
一个方便的工具是北卡罗莱纳大学, 具体来说
ncdu -x /
。它将向您显示根文件系统中使用最多的目录,并允许您在其中导航(基本上类似于 WinDirStat 或 SpaceSniffer)。也可以使用手动重复来完成
du -xhs <dir>
,但有点繁琐。(在这两种情况下,“x”选项都会告诉它避免深入研究 /proc 之类的虚拟文件系统。)移除占用大量空间的东西。
不过,不要立即删除这些文件——首先要弄清楚是什么导致它们增长,以及是否需要使用特殊命令删除它们。例如,数据库日志/日志文件必须通过数据库本身刷新。/var/log 中的系统日志可以安全删除,但它们无论如何都有一个可配置的保留期——检查为什么不应用该保留期。
如果已用空间没有增加 - 例如 ncdu 仅显示 50 GB 的文件 - 则可能是某个程序仍将某个已删除(取消链接)的大文件保持打开状态。重新启动程序或重新启动系统即可解决此问题。
sudo lsof -n | grep "(deleted)"
将显示所有已删除但仍打开的文件以及进程 ID。(忽略 /tmp 或 /dev/shm 下的文件 - 这是正常的,而且它们位于单独的文件系统上。)如果您使用的是 LVM/Btrfs/ZFS,您还应该检查是否有任何旧快照或丢失的子卷 - 这些对于文件系统来说是不可见的,但仍然占用空间。