rsyslog 占用内存过高
字数:
54
·
阅读:
1 分钟
·
访问:
-
排查问题
使用top 再按大写M, 对内存采用降序显示,一目了然看到谁占用内存最高。

定位到rsyslogd进程占用内存25.7%,非常可怕,需要急需解决掉它。
什么是
rsyslog: 系统提供的多线性日志系统,参考: https://www.rsyslog.com/
解决问题
rsyslogd是它的守护进程,可以通过systemctl status rsyslog 查看运行状态

红色显示错误信息。
使用
journalctl --verify检查系统日志卷文件损坏情况如果检查出来有红色的文件,则直接删除即可。
删除
/var/lib/rsyslog/imjournal.state文件重启
rsyslogd进程,systemctl restart rsyslog
然后使用 top 查看,内存占用率是否没有啦。
避免再次发生
修改
/etc/rsyslog.conf文件最后行添加2行代码
$imjournalRatelimitInterval 0 $imjournalRatelimitBurst 0重启服务:
systemctl restart rsyslog关闭
journal压缩配置vim /etc/systemd/journald.conf # 找到 #Compress=yes 修改成 no Compress=no # 重启服务 systemctl restart systemd-journald