什么是 upstart,为什么它在 ~/.cache 中生成了一个 38.1 GB 的文件

什么是 upstart,为什么它在 ~/.cache 中生成了一个 38.1 GB 的文件

今天我随机收到一个“磁盘已满”的对话框,提示我只剩下 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

接受的答案可以解决症状,但不能解决问题。

问题在于一个应用程序(或很少但可能不止一个)失控运行,日志中充满了垃圾 - 可能是错误消息。

删除巨大的日志文件是可以的,但它会再次增长。

  1. 删除最大的日志文件,并检查目录的内容几次以找出哪个文件正在增长。

    ls ~/.cache/upstart
    
  2. 打开系统监视器,按 CPU 排序,检查哪个名称相似的应用程序处于活动状态。将其关闭。此应用程序很可能再次出现此问题,因此请尝试使用其他程序。

    • 或运行ps -aux | grep -i ..aPartFromTheLogFileName..以查找有问题的应用程序,然后kill -9 ..itsProcessNumber..
  3. 如果这不能解决问题,请使用 glogg 打开不断增长的日志文件,然后在 Google 上搜索错误消息。

  4. 如果您无法修复它,可以按照以下方法永久消除该症状(对我来说,方法是 gnome-session-Unity.log):

     ln -s /dev/null ~/.cache/upstart/gnome-session-Unity.log
    

请注意,它不会修复应用程序的问题,但会使日志消息被遗忘。

相关内容