REDHAT 机器 + rsyslogd 占用了 10+ GB

REDHAT 机器 + rsyslogd 占用了 10+ GB

我们最近注意到了这个问题

我们发现 rsyslog 服务正在消耗内存,有时甚至高达 10G

我们有不同类型的 Redhat 机器,如 7.6 和 7.9 版本

当服务消耗超过 2 GIGA 时,是否可以自动重新启动 rsyslog 服务(通过 systemctl 配置)?

从文档中我看到(服务路径 - /lib/systemd/system/rsyslog.service

[Service]
MemoryLimit=2G

但不确定我们是否达到了内存限制(2G),然后服务将自动重启

下面是我们想要的例子

如果 rsyslog 服务消耗超过 2G,则服务将重新启动

systemctl restart rsyslog.service 

如果上述方案无法实现,那么我们希望得到其他建议

答案1

要限制 rsyslog 服务的内存使用情况,请在/lib/systemd/system/rsyslog.services[Service]部分下的文件中添加内存限制。

分配 2 GB 的示例:

[Service]
MemoryAccounting=yes
MemoryCurrent=2G
MemoryLimit=2G

您可以使用以下命令在任何 systemd 发行版上找到单元文件:

systemctl cat rsyslog.service

参考 : rsyslogd 占用了 20+ GB (!) 的 RAM - 需要收集什么证据?

相关内容