我的文件系统快满了,我不知道是怎么回事。我登录系统后发现 / 已满 100%。重启后空间使用率又恢复正常。大约半天后 / 又恢复到 80%。以下是 df -k 的输出:
df -k
Filesystem 1K-blocks Used Available Use% Mounted on
udev 1504112 0 1504112 0% /dev
tmpfs 307328 1960 305368 1% /run
/dev/sda2 51340768 38742300 9960800 80% /
tmpfs 1536624 8 1536616 1% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 1536624 0 1536624 0% /sys/fs/cgroup
/dev/loop0 90368 90368 0 100% /snap/core/5897
/dev/loop1 88704 88704 0 100% /snap/core/4486
/dev/loop2 5120 5120 0 100% /snap/canonical-livepatch/50
/dev/loop3 89984 89984 0 100% /snap/core/5742
tmpfs 307324 16 307308 1% /run/user/126
tmpfs 307324 48 307276 1% /run/user/1001
tmpfs 307324 32 307292 1% /run/user/1000
但是,请看一下磁盘使用情况分析器:
根据这个,我的 fs 只占用了 10GB。所以我不明白为什么 / 占用了 80%。在我看来,我有一个幻影 20GB
我重新启动了机器,以下是 df -k 的输出:
df -k
Filesystem 1K-blocks Used Available Use% Mounted on
udev 1504112 0 1504112 0% /dev
tmpfs 307328 1092 306236 1% /run
/dev/sda2 51340768 9912552 38790548 21% /
tmpfs 1536624 4 1536620 1% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 1536624 0 1536624 0% /sys/fs/cgroup
/dev/loop0 89984 89984 0 100% /snap/core/5742
/dev/loop1 88704 88704 0 100% /snap/core/4486
/dev/loop2 5120 5120 0 100% /snap/canonical-livepatch/50
/dev/loop3 90368 90368 0 100% /snap/core/5897
tmpfs 307324 12 307312 1% /run/user/126
tmpfs 307324 0 307324 0% /run/user/1001
恢复正常增益。交换大小只有 3GB。这怎么可能呢?
请帮忙!
谢谢!
答案1
不确定这是否是最好的解决方案,但您可以运行:
du -hs /* | sort -n -r | head -n 5
然后使用列表中的第一个路径遍历列表中最大的目录,即:
du -hs /tmp/* | sort -n -r | head -n 5
我认为,这样你就会找到增长最快的目录。
我猜它是日志或者您可能正在运行的任何分析器,但您可以使用此命令找到它。
答案2
我想我找到了答案。我运行了 google-drive-ocamlfuse。该程序将 google drive 安装为 fuse 文件系统。它使用目录进行缓存。问题是,当清除缓存时,空间不会释放,因为文件是打开的。
因此,当我使用 du -hs 或 gui 工具进行深入挖掘时,我看不到空间使用情况,因为文件不再存在,但使用 df 我可以看到已使用的空间,顺便说一下,空间已被使用。我能够使用
sudo lsof | grep 'deleted'
在那里我可以看到所有打开和删除的文件