Answers:
在systemd-journal-flush.service
询问期刊守护进程,清除存储在/运行/日志/日记到在/ var /日志/日志的任何日志数据,如果persistent
存储已启用。如果您拥有(已经)巨大的日志文件,这将导致启动速度变慢。此外,/var/log
必须以可写方式安装磁盘(带有)。
总结一下:庞大的旧日志文件,在启动期间进行检查,并添加新的日志数据会导致启动时间变慢。
检查journalctl日志大小类型
journalctl --disk-usage
为了获得刷新处理的时间和磁盘空间信息,请输入以下命令
journalctl -b --unit systemd-journald
相应的输出将如下所示
-- 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.
禁用服务(不推荐)
这样一来,并非所有日志数据都可能写入磁盘。调试启动错误时很烦人。
使用journalctl --vacuum
命令
从 journalctl -h
--vacuum-size =字节将磁盘使用量减少到指定大小以下
--vacuum-files = INT仅保留指定数量的日志文件
--vacuum-time = TIME删除早于指定时间的日志文件
因此做一个
sudo journalctl --vacuum-size=1G --vacuum-time=5d --vacuum-files=5
更改的存储类型 systemd-journal-flush.service
首先使用以下命令检查您的存储类型
systemctl cat systemd-journal-flush.service | grep -i storage
从 man journald.conf
储存空间=
控制日记数据的存储位置。“易失性”,“持久性”,“自动”和“无”之一。
如果为“ volatile ”,则日记日志数据将仅存储在内存中,即/ run / log / journal层次结构(如果需要,可以创建)下面。
如果为“ persistent ”,则数据将优选存储在磁盘上,即在/ var / log / journal层次结构下(如果需要创建),并回退到/ run / log / journal(根据需要创建)提早启动并且磁盘不可写。
“ auto ”类似于“ persistent”,但是如果需要的话不会创建目录/ var / log / journal,因此它的存在控制着日志数据的去向。
“ none ”关闭所有存储,所有接收到的日志数据将被丢弃。但是,转发到其他目标(例如控制台,内核日志缓冲区或syslog套接字)仍将起作用。默认为“自动”。
编辑档案
sudo nano /etc/systemd/journald.conf
在日记部分中,取消注释和更改:
Storage=auto
SystemMaxFileSize=1G
SystemMaxFiles=5
保存并重新启动。
根据systemd开发人员主页上的这篇文章,您可以通过更改Unit文件来修复它。
为此,请打开/lib/systemd/system/systemd-journal-flush.service
,例如
sudo vim /lib/systemd/system/systemd-journal-flush.service
并改变依赖之前从
Before=systemd-user-sessions.service systemd-tmpfiles-setup.service
到
 Before=systemd-tmpfiles-setup.service

对于> d v240的系统版本,此修复程序将自动更改。
不要忘记保存文件。