如果您正在寻找解决方案,请参阅编辑 #3。
我正在运行 Xubuntu 16.04 LTS,并且我有一个 ~40 GB 的根分区,根据系统监视器(以 root 身份),它是 100% 满的。它肯定是满的,因为许多程序无法正常运行。
但是,由于某种原因,我似乎无法弄清楚是什么在使用该空间!Baobab(以 root 身份)仅报告在我的根分区上总共使用了 15.5 GB!
编辑:另外,这里是 /var - 人们说它很大。Baobab 仅报告 /var 1 GB,而 /var/log 为空。我试过跑步sudo rm -R /var/log
,没有效果。
那么,如何找出正在使用我的磁盘空间的内容,以及如何防止它填满我的根分区?这是个大问题,求大神帮忙!先感谢您 :)
编辑2:正如答案部分中发布的那样,sudo lsof / | awk '{if(\$7 > 1048576) print \$7/1048576 \"MB\" \" \" \$9 }' | sort -n -u
返回11222.7MB /var/log/kern.log 11222.9MB /var/log/syslog
,但是,我似乎无法弄清楚如何删除这些文件,此外,我想弄清楚如何永久防止这些文件变得如此之大。这个对另一个问题的回答建议我查看日志并查看它们的内容,所以理想情况下我想要某种方式来阅读这些神秘文件的内容。
编辑 3:我通过在单独的分区上安装 /var/log 暂时解决了这个问题。
但是,仍然有某种错误导致了这种情况。如果您希望修复此错误,请在错误报告中提供信息(或至少给予关注):https ://bugs.launchpad.net/ubuntu/+source/linux/+bug/1643719和https: //bugzilla.kernel.org/show_bug.cgi?id=188331谢谢 :)
有两种类型的文件访问使用磁盘空间,但不会随您的工具显示:已删除(但仍打开)文件和正在写入的文件。
我定义了这两个别名,我觉得它们非常有用:
你的 /var 很胖。检查 /var/log
您可以使用此命令查找大文件:
当然你可以调整大小(本示例中为 500000k)
之后,您可以删除或压缩它们
由于文件已打开,您可能无法使用工具看到它。以root身份试试这个
确切地说,包括
>
. 这将截断日志。笔记:
正如@waltinator 所说,如果您发现已删除的 syslog 文件即使在删除它们后仍占用更多空间,并且如果您无法使用
rm -R /var/log
or释放它> /var/log/syslog
,请杀死 Syslog 守护程序,(在 Elementary OS(Ubuntu 18.04)中,我确实killall rsyslogd
释放了 open文件并释放大约 15Gb / 空间)如果你有一个单独的分区,最好将 /var 挂载到一个单独的分区中。