• 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
  • 相关阅读:
    jfreechart简单介绍---曲线图
    Java监听器
    在java里actionPerformed是做什么用的
    sqlserver,oracle,mysql等的driver驱动,url怎么写
    ibatis入门实例(完整)
    java连接access数据库的三种方式以及远程连接
    elementui入门以及nodeJS环境搭建
    vue路由
    vue模板语法下
    vue模板语法上
  • 原文地址:https://www.cnblogs.com/cpw6/p/13209072.html
Copyright © 2020-2023  润新知