Linux解决rsyslog服务占用内存过高的办法
一、概述
使用top命令查看内存占用时,发现rsyslogd内存占用很高。

二、排查
1、journalctl -u rsyslog查看状态

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

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

三、解决办法
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
到此这篇关于Linux解决rsyslog服务占用内存过高的办法的文章就介绍到这了,更多相关Linux rsyslog占用内存过高内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
解决Ubuntu系统中“Temporary Failure in Name Re
在Ubuntu系统中,"TemporaryFailureinNameResolution"错误通常是DNS查询失败导致的,可能由DNS配置错误、网络连接问题或防火墙设置引起,解决方法包括检查DNS配置、确保网络连接、重启网络服务、检查防火墙设置以及使用systemd-resolved管理DNS配置2026-05-05
如何解决Linux环境变量每次要source /etc/profile问题
这篇文章主要介绍了如何解决Linux环境变量每次要source /etc/profile问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-04-04
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
Apache Superset是一个强大的BI工具,它提供了查看和探索数据的方法。它在 ClickHouse 用户中也越来越受欢迎。今天将介绍安装 Superset 的 2 种方法,通过示例代码给大家介绍的非常详细,需要的朋友参考下吧2021-06-06
详解CentOS7 安装 MariaDB 10.2.4的方法
这篇文章主要介绍了CentOS7 安装 MariaDB 10.2.4的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-11-11
linux 程序、动态库、静态库内部添加版本号和编译时间详解
下面小编就为大家带来一篇linux 程序、动态库、静态库内部添加版本号和编译时间详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-12-12


最新评论