Syslog(如 rsyslog / syslog-ng / journald)占用 CPU 过高,通常不是 syslog 本身“有 bug”,而是日志量、配置或下游处理出了问题。下面按常见原因从高到低说明。
debug 级别在生产环境未关闭表现
/var/log 下文件增长极快排查
# 实时看日志量
wc -l /var/log/messages
tail -f /var/log/messages
# 看哪些服务在打
journalctl -f
解决
例如:
*.* 全量接收例子(不好)
*.* /var/log/all.log
优化
*.err /var/log/error.log
表现
解决
omfwd + queue)Syslog 是 IO 密集型,磁盘慢时会:
排查
top
# 看 %wa 是否很高
iostat -x 1
解决
检查
ls -lh /var/log/
解决
logrotate -f /etc/logrotate.conf
解决
rsyslogd -version
升级到稳定版本
检查
netstat -anu | grep 514
# 1. 看 syslog CPU
top -p $(pidof rsyslogd)
# 2. 看日志速度
tail -f /var/log/messages
# 3. 看谁在打
journalctl -f
# 4. 看磁盘
iostat -x 1
Syslog CPU 高 = 日志太多 / 配置太重 / 磁盘太慢
如果你愿意,可以告诉我:
top 里具体是哪个进程我可以直接帮你给针对性优化方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。