我们最近注意到了这个问题
我们发现 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