今天我随机收到一个“磁盘已满”的对话框,提示我只剩下 1gb 的空间,而这个空间很快就变成了 100mb 的可用空间。
因此我运行了磁盘分析器,发现 ~/.cache/upstart 中有 38.1 GB 的巨大空间
当我打开此文件夹时,里面有 229 个日志,它们看起来像是彼此的备份,下面是一些示例
at-spi2-registryd.log.1.gz
at-spi2-registryd.log.2.gz
at-spi2-registryd.log.3.gz
gnome-keyring-ssh.log.1.gz
gnome-keyring-ssh.log.2.gz
gnome-keyring-ssh.log.3.gz
我的问题是
这件事为何会变得这么大?
什么是 upstart 以及上述文件夹中保存了哪些日志?
我可以删除它们以快速解决问题吗?
答案1
Upstart 是 Ubuntu 中的初始化系统(直到 14.10)。它管理服务并在适当的时间启动/停止它们,并将其输出捕获到存储在适当位置的日志中。Upstart 还能够为每个用户运行服务,并且~/.cache/upstart
默认情况下会存储这些用户特定服务的日志。
至于是什么原因导致它们变得如此之大,这不是 Upstart 的问题,而是正在运行的应用程序的问题。(在本例中,gnome-keyring
就是其中一个原因。)检查日志以查看出了什么问题。
要查看正在运行的程序,请执行以下操作:
initctl list
这些服务的配置文件将位于~/.config/upstart
(如果您自己创建了一些),或者位于/usr/share/upstart/sessions
(对于 Ubuntu 附带的配置文件)。
我可以删除它们以快速解决问题吗?
是的。
答案2
接受的答案可以解决症状,但不能解决问题。
问题在于一个应用程序(或很少但可能不止一个)失控运行,日志中充满了垃圾 - 可能是错误消息。
删除巨大的日志文件是可以的,但它会再次增长。
删除最大的日志文件,并检查目录的内容几次以找出哪个文件正在增长。
ls ~/.cache/upstart
打开系统监视器,按 CPU 排序,检查哪个名称相似的应用程序处于活动状态。将其关闭。此应用程序很可能再次出现此问题,因此请尝试使用其他程序。
- 或运行
ps -aux | grep -i ..aPartFromTheLogFileName..
以查找有问题的应用程序,然后kill -9 ..itsProcessNumber..
。
- 或运行
如果这不能解决问题,请使用 glogg 打开不断增长的日志文件,然后在 Google 上搜索错误消息。
如果您无法修复它,可以按照以下方法永久消除该症状(对我来说,方法是 gnome-session-Unity.log):
ln -s /dev/null ~/.cache/upstart/gnome-session-Unity.log
请注意,它不会修复应用程序的问题,但会使日志消息被遗忘。