尝试更多地了解 Linux 以及为什么我们的磁盘空间总是满的。几乎没有 Linux 经验,所以请耐心等待
/dev/sda2 安装在 / 上,并且该磁盘一直处于满负荷状态
如果我更深入地检查,我就会发现
现在有这个18GB /
我如何才能看到实际占用了该空间的内容?我可以检查 /etc /home /var 等文件夹的内容,但无法看到 / 上直接有哪些文件
所有正常的文件夹(如缓存、日志或 /tmp)都经过检查并清空,但磁盘仍然占用 96%,我认为这是不正常的。
当然也欢迎任何其他建议。
提前致谢。
编辑
命令 ls -lst / 给出以下结果
我不确定该怎么理解,但这是否意味着“交换”占用了大部分空间?或者可以忽略它。
1
最佳答案
3
如果您提供了产生这些结果的实际命令(似乎是 df 和 du),那将会很有帮助。
看起来好像 / 中使用了 18G。
那很糟。
您绝不应该在那里添加文件。这不仅会给管理存储带来问题,还意味着您正在运行数据处理任务或记录根。同样不好。
我如何才能看到到底是什么占用了这个空间?
ls -lst /
将是一个很好的起点。
您将看不到已被删除(但仍处于打开状态)的文件。lsof | grep 'deleted'
如果您没有看到您期望的内容,可能会有所帮助ls
1
-
谢谢,我已经运行了您给出的第一个命令,并将输出添加到帖子中。您能帮我解释结果吗?因为我似乎从来没有加到正确的 18GB 使用量。
–
|
使用 ncdu 之类的工具来可视化您的磁盘空间使用情况。还有其他类似的工具,但这个工具无需 UI 即可运行,而且运行良好!
2
-
3值得一提的是,已删除的文件将一直保留,直到被打开的进程关闭它们为止。
– -
确实,很有道理!
–
|
每当这种情况发生在我身上时,我都会进行手动递归,例如:
du -hs /* > /du.out
然后,当很明显膨胀来自(比如说)/var 时,我会重复该过程:
du -hs /var/* > /var/du.out
反复进行,直到深入到问题所在。
上述内容显然可以作为某种脚本进行改进;但一般来说,如果驱动器已满;那么您只为根保留了很小的空间,并且如果许多程序需要磁盘上的临时空间,它们将无法运行。
|
swapon
查看)。如果它是您的计算机的交换空间;那是一个大小不会改变的静态文件;它的大小可能是您的 RAM 的倍数(1 倍、1.5 倍或 2 倍)。–
|