systemd-journald服务占用CPU过高

今天线上业务有些数据查询非常慢,经排查,发现是systemd-journald服务占用CPU过高所致

[root@node-63-8 ~]# top
top - 15:52:35 up 504 days, 23:33,  1 user,  load average: 3.29, 3.34, 3.09
Tasks: 371 total,   3 running, 368 sleeping,   0 stopped,   0 zombie
%Cpu0  : 13.9 us,  9.8 sy,  0.0 ni, 69.9 id,  4.4 wa,  0.0 hi,  2.0 si,  0.0 st
%Cpu1  : 27.3 us, 33.3 sy,  0.0 ni, 37.4 id,  2.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  9.2 us,  9.2 sy,  0.3 ni, 80.2 id,  0.3 wa,  0.0 hi,  0.7 si,  0.0 st
%Cpu3  : 17.8 us,  7.4 sy,  0.0 ni, 73.2 id,  1.7 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu4  : 12.5 us, 12.9 sy,  0.3 ni, 68.8 id,  3.1 wa,  0.0 hi,  2.4 si,  0.0 st
%Cpu5  :  9.3 us, 13.0 sy,  0.7 ni, 53.7 id, 22.3 wa,  0.0 hi,  1.0 si,  0.0 st
%Cpu6  : 10.3 us, 18.7 sy,  0.3 ni, 60.3 id,  9.7 wa,  0.0 hi,  0.7 si,  0.0 st
%Cpu7  :  9.4 us, 10.7 sy,  0.3 ni, 66.8 id, 12.1 wa,  0.0 hi,  0.7 si,  0.0 st
KiB Mem : 16266144 total,   155284 free, 15481160 used,   629700 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   288052 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                       
1551362 root      20   0   48416   4304   3648 R  99.0  0.0   1765:24 systemd-journal                                                                                               
1373291 root      20   0 6733616   6.2g   3068 S  53.3 39.8   2137:06 rsyslogd

临时关闭日志打印服务,先恢复业务,后续再针对优化

[root@node-63-8 ~]# vim /etc/systemd/journald.conf

[Journal]
 Storage=none

[root@node-63-8 ~]# systemctl restart systemd-journald


[root@node-63-8 ~]# vim /etc/systemd/journald.conf
[Journal]
#日志存储到磁盘
Storage=persistent
#压缩日志
Compress=yes
#为日志添加序列号
Seal=yes
#每个用户分别记录日志
SplitMode=uid
#日志同步到磁盘的间隔,高级别的日志,如:CRIT、ALERT、EMERG 三种总是实时同步
SyncIntervalSec=1m
#即制日志的最大流量,此处指 30s 内最多记录 100000 条日志,超出的将被丢弃
RateLimitInterval=30s
#与 RateLimitInterval 配合使用
RateLimitBurst=100000
#限制全部日志文件加在一起最多可以占用多少空间,默认值是10%空间与4G空间两者中的较小者
SystemMaxUse=64G
#默认值是15%空间与4G空间两者中的较大者
SystemKeepFree=1G
#单个日志文件的大小限制,超过此限制将触发滚动保存
SystemMaxFileSize=128M
#日志滚动的最大时间间隔,若不设置则完全以大小限制为准
MaxFileSec=1day
#日志最大保留时间,超过时限的旧日志将被删除
MaxRetentionSec=100year 

#是否转发符合条件的日志记录到本机的其它日志管理系统,如:rsyslog
ForwardToSyslog=yes 
ForwardToKMsg=no
#是否转发符合条件的日志到所有登陆用户的终端
ForwardToWall=yes 
MaxLevelStore=debug 
MaxLevelSyslog=err 
MaxLevelWall=emerg 
ForwardToConsole=no 
#TTYPath=/dev/console
#MaxLevelConsole=info
#MaxLevelKMsg=notice
原文地址:https://www.cnblogs.com/cpw6/p/13209072.html