我正在尝试查看日志丢弃计数的工作方式journald
。在/etc/systemd/journald.conf
文件中,我将其修改RateLimitIntervalSec
为 1 秒,将其修改RateLimitBurst
为 2,这样我就可以看见在重新启动一个 systemd 单元时一些日志被丢弃(我选择了thermald.service
每秒至少抛出 5 个日志的单元)。进行此更改后,我systemctl force-reload systemd-journald
这样做了,以便它选择最新的 journald 配置。
该/etc/systemd/journald.conf
文件如下所示:
[Journal]
#Storage=auto
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
RateLimitIntervalSec=1s
RateLimitBurst=2
#SystemMaxUse=
#SystemKeepFree=
#SystemMaxFileSize=
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
#MaxRetentionSec=
#MaxFileSec=1month
#ForwardToSyslog=yes
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg
#LineMax=48K
我重新启动了thermald.service
,仍然journalctl -u thermald
显示重新启动时的所有日志,并且没有日志被丢弃。我甚至重新启动了机器,只是为了确保journald.conf
更改得到最新应用,但问题仍然存在。
这是我每次重启 thermald 时看到的日志集。很明显没有日志被丢弃。
Oct 05 12:43:30 pineapplet-vm systemd[1]: Starting Thermal Daemon Service...
Oct 05 12:43:30 pineapplet-vm systemd[1]: Started Thermal Daemon Service.
Oct 05 12:43:30 pineapplet-vm thermald[1690]: NO RAPL sysfs present
Oct 05 12:43:30 pineapplet-vm thermald[1690]: 22 CPUID levels; family:model:stepping 0x6:8e:a (6:142:10)
Oct 05 12:43:30 pineapplet-vm thermald[1690]: Polling mode is enabled: 4
Oct 05 12:43:30 pineapplet-vm thermald[1690]: Thermal DTS: No coretemp sysfs found
Oct 05 12:43:30 pineapplet-vm thermald[1690]: Thermal DTS or hwmon: No Zones present Need to configure manually
Oct 05 12:43:30 pineapplet-vm thermald[1690]: No thermal sensors found
lines 15-61/61 (END)
我不确定哪里出了问题。我也在其他 systemd 单元上测试过,但没有成功。如何测试 journald 的日志丢弃计数功能?请帮忙。
尝试过:CentOs 7 和 Ubuntu 18.10
答案1
我认为问题可能是你需要运行命令
systemctl daemon-reload
前重新启动服务。