Linux解决rsyslog服务占用内存过高的办法

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/

一、概述

使用top命令查看内存占用时,发现rsyslogd内存占用很高。

Linux解决rsyslog服务占用内存过高的办法插图

二、排查

1、journalctl -u rsyslog查看状态

Linux解决rsyslog服务占用内存过高的办法插图1

 2、tail /var/log/messages查看messages日志

Linux解决rsyslog服务占用内存过高的办法插图2

 执行journalctl –verify命令检查发现系统日志卷文件损坏错误

Linux解决rsyslog服务占用内存过高的办法插图3

三、解决办法

1、删除上面损坏的journal文件

2、删除 /var/lib/rsyslog/imjournal.state文件

3、修改rsyslogd服务配置文件后重启rsyslog

vim /usr/lib/systemd/system/rsyslog.service

在Service配置中添加MemoryAccounting=yes,MemoryMax=80M,MemoryHigh=8M 三项来限制服务内存使用率,如下所示:

[Unit] Description=System Logging Service ;Requires=syslog.socket Wants=network.target network-online.target After=network.target network-online.target Documentation=man:rsyslogd(8) Documentation=http://www.rsyslog.com/doc/ [Service] Type=notify EnvironmentFile=-/etc/sysconfig/rsyslog ExecStart=/usr/sbin/rsyslogd -n $SYSLOGD_OPTIONS Restart=on-failure UMask=0066 StandardOutput=null Restart=on-failure MemoryAccounting=yes MemoryMax=80M MemoryHigh=8M [Install] WantedBy=multi-user.target ;Alias=syslog.service

通常情况下rsyslogd大小只有5M,所以将内存上限设置为8M,然后将绝对内存限制为80M。

重启服务 systemctl daemon-reloadsystemctl restart rsyslog


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容