我可以屏蔽 systemd-journal-flush 服务并稍后手动运行journalctl --flush 吗?

我可以屏蔽 systemd-journal-flush 服务并稍后手动运行journalctl --flush 吗?

在我的 archlinux 安装中,我意识到通过 systemd-journal-flush 服务将日志日志刷新到磁盘可以显着延长启动过程,并且屏蔽该服务可以缩短启动时间。我可以永久屏蔽该服务并journalctl --flush在计算机空闲时运行以将日志日志刷新到磁盘吗?这会导致任何不良的系统行为吗?

答案1

以下是解决此问题的步骤:

  1. 进行冲洗journalctl --flush
  2. 删除/移动目录/var/log/journal
  3. 设置Storage=auto/etc/systemd/journald.conf
  4. 重新启动机器

您应该会看到启动时间有所改善。

答案2

其他人指出,在没有任何持久日志的情况下运行日志记录是一种选择。这种方法的记录没有任何特别的警告,用于大量系统。 Fedora 开始时没有持久日志和 syslog 守护进程,Debian 仍然默认这种方式。

因此没有理由预期会出现问题。

我可以随意掩盖原来的服务,并根据您的喜好安排稍后运行冲洗。

如果稍后在启动过程中出现奇怪的系统崩溃,您可能需要重新启用它(并SyncIntervalSec=在journald.conf中设置较低的值),以尝试恢复任何相关的日志消息。

答案3

在 中/etc/systemd/journald.conf,您可以设置,如果存在Storage=auto则将记录到磁盘。/var/log/journal不要创建目录。

然后,您可以使用在空闲时运行命令的方法来刷新日志磁盘:

sudo mkdir /var/log/journal && journalctl --flush

相关内容