在 Linux 系统中,syslog(或 rsyslog / syslog-ng)占用高通常指以下几种情况之一:
下面按常见原因逐一说明,并给出排查与解决办法。
例如:
现象
/var/log/messages、/var/log/syslog 增长极快rsyslog 进程 CPU 高排查
# 查看日志增长
ls -lh /var/log/
# 实时查看日志
tail -f /var/log/syslog
# 统计最近日志来源
grep "$(date +%b\ %e)" /var/log/syslog | awk '{print $5}' | sort | uniq -c | sort -nr | head
解决
例如:
imtcp、imudp现象
排查
systemctl status rsyslog
ps -aux | grep rsyslog
解决
/etc/rsyslog.conf原因:
现象
解决
# 手动执行
logrotate -f /etc/logrotate.conf
# 重载 rsyslog
systemctl reload rsyslog
解决
现象
解决
rsyslogd -version
top
df -h
du -sh /var/log/*
journalctl -p err -xb
systemctl status rsyslog
如果你愿意,可以告诉我:
我可以给你更精确的优化方案。