-- Logs begin at Sat 2018-12-08 00:40:23 CET, end at Mon 2018-12-10 19:40:27 CET. --
Dec 10 12:51:38 ubuntu01 systemd-journald[479]: Journal started
Dec 10 12:51:38 ubuntu01 systemd-journald[479]: Runtime journal (/run/log/journal/265c93c062bf4c8da41abfe2ae793452) is 4.7M, max 38.3M, 33.5M free.
Dec 10 12:51:38 ubuntu01 systemd-journald[479]: Time spent on flushing to /var is 7.066904s for 132 entries.
Dec 10 12:51:38 ubuntu01 systemd-journald[479]: System journal (/var/log/journal/265c93c062bf4c8da41abfe2ae793452) is 128.0M, max 256.0M, 128M free.
你可以
禁用服务(不推荐)
那么有可能不是所有的日志数据都写入磁盘;调试启动故障时很烦人。Journald 是systemd linux 中的一项基础服务,许多其他服务都依赖于它。
如果启用了存储
systemd-journal-flush.service
,则要求日志守护程序将存储在 /run/log/journal 中的任何日志数据刷新到 /var/log/journal中。persistent
如果您(已经)拥有巨大的日志文件,这将导致启动速度变慢。此外,必须以可写方式安装磁盘(带有/var/log
)才能执行此操作。总而言之:巨大的旧日志文件,在引导过程中被检查并且新日志数据的附加导致引导时间变慢。
检查 journalctl 日志大小类型
为了获取flush处理的时间和磁盘空间信息,输入以下命令
相应的输出看起来像
你可以
那么有可能不是所有的日志数据都写入磁盘;调试启动故障时很烦人。Journald 是systemd linux 中的一项基础服务,许多其他服务都依赖于它。
验证日志文件的内部一致性:
请注意,每个期刊都显示PASS。
journalctl --vacuum
命令从
journalctl -h
因此做一个
systemd-journal-flush.service
首先检查您的存储类型
从
man journald.conf
编辑文件
在期刊部分取消注释并更改:
推荐
我建议将SystemMaxFileSize键的大小限制为 20MB -->
最后,如果您的 Ubuntu 没有在重要的服务器上运行,我建议将数据存储更改为 volatile:
如果您在调试模式下运行引导并跟踪系统调用 (strace),您可能会发现刷新写入的 i/o 性能非常差。就我而言,原因尚不清楚。也许一些内核消息会在日志文件中发送垃圾邮件(请注意,在 10000 条消息之后,该单元默认被阻止,但 journald 必须对此进行管理,这可能会导致性能不佳)。在这种情况下,跳过消息并搜索未必标记为错误的错误。
和
该
--output short-monotonic
标志打印与默认 utc 时间对比的时间步长。最后删除旧的日志文件
保存并重新启动。
根据systemd 开发人员主页上的这篇文章,您可以通过更改单元文件来修复它。
为此,请打开
/lib/systemd/system/systemd-journal-flush.service
,例如并将Before 依赖项从
至
此修复将针对 systemd 版本 > v240 自动更改。
不要忘记保存文件。