最新文章

解决 Rsyslogd 资源占用率高问题

解决 rsyslogd 资源占用率高问题

rsyslogd资源占用高问题记录 问题: openshift集群安装在esxi的虚拟机上. 各个节点出现问题, 集群响应很慢. kswapd0进程cpu 90%多. rsyslogd进程内存 90%多. **先上总结: ** system-journal服务监听/dev/logsocket获取日志, 保存在内存中, 并间歇性的写入/var/log/journal目录中. rsyslog服务启动后监听/run/systemd/journal/syslogsocket获取syslog类型日志, 并写入/var/log/messages文件中. 获取日志时需要记录日志条目的position到/var/lib/rsyslog/imjournal.state文件中. 可能是虚拟机系统安装问题, 导致没有创建/var/lib/rsyslog. rsyslog将异常日志写入/dev/logsocket中. 这样就导致了死循环, rsyslog因为要打开/var/log/messages并写入日志, 消耗cpu, 内存还有磁盘I/O. 诊断步骤: rsyslog 重启rsyslog服务 重启之后内存得到释放, 但是rsyslogd进程cpu跑到90%多, 且内存在持续升高. 检查服务状态发现进程一直在报错: fopen() failed: 'Permission denied', path: '/imjournal.state.tmp' [try http://www.rsyslog.com/e/2013 ] fopen() failed: 'Permission denied', path: '/imjournal.

About Me

张晓辉

英文名 Addo。 资深程序员,LF APAC 开源布道师,CNCF Ambassador,云原生社区管委会成员,公众号“云原生指北”作者,微软 Azure MVP。 曾任职于汇丰软件、唯品会、数人云、小鹏汽车,有多年的微服务和基础架构实践经验,主要工作涉及微服务、容 …

进一步了解