Linux 中 syslog 过大是一个很常见的问题,通常不是“某一个原因”,而是几类原因叠加。下面按最常见 → 较少见来说明,并给出对应解决思路。
很多服务(如 Docker、Kubernetes、NetworkManager、桌面环境)默认会输出大量日志。
表现:
/var/log/syslog 或 /var/log/messages 每小时增长几十 MBdebug、info解决:
LogLevel=warning)例如:
表现:
解决:
journalctl -p err -b
定位异常服务并修复根因。
常见于:
/etc/logrotate.d/表现:
.1 .2.gz 文件检查:
ls -lh /var/log/
cat /etc/logrotate.d/rsyslog
现代 Linux 常同时有:
journaldrsyslog / syslog-ng两者都存一份,磁盘占用翻倍。
解决:
# /etc/systemd/journald.conf
SystemMaxUse=500M
如:
查看:
dmesg -T | tail -n 50
安全策略过严会记录大量系统调用。
检查:
ausearch | head
如:
# 1. 看哪个文件最大
du -sh /var/log/* | sort -h
# 2. 看最近日志内容
tail -n 100 /var/log/syslog
# 3. 看错误日志
journalctl -p err -b
# 4. 看日志轮转状态
logrotate -d /etc/logrotate.conf
如果你愿意,可以把下面信息发我,我可以帮你精准判断:
du -sh /var/log/* 输出