Debian 系统日志突然增大,通常不是“系统自己抽风”,而是某个程序在疯狂写日志或日志轮转失效。下面按最常见原因从高到低给你梳理,并给出排查方法。
例如:
典型服务:
rsyslogsystemddockernginx / apachecron排查:
# 看哪些日志在狂写
sudo du -sh /var/log/*
sudo ls -lh /var/log
# 实时看日志
sudo tail -f /var/log/syslog
正常情况下:
但如果:
日志就会一直变大。
检查:
sudo logrotate -d /etc/logrotate.conf
sudo systemctl status logrotate
journalctl 日志不受 logrotate 控制。
查看大小:
journalctl --disk-usage
可能原因:
临时清理:
sudo journalctl --vacuum-size=200M
限制大小(推荐):
sudo nano /etc/systemd/journald.conf
SystemMaxUse=500M
然后:
sudo systemctl restart systemd-journald
比如:
>> /var/log/xxx.log看谁在写:
sudo lsof | grep /var/log
磁盘满 → 日志不能压缩 → 越写越乱
df -h
# 1. 看哪个日志最大
du -sh /var/log/* | sort -h
# 2. 实时看内容
tail -f /var/log/syslog
# 3. 看进程
lsof | grep /var/log
# 4. 看 systemd 服务
journalctl -p err -b
你可以贴出:
du -sh /var/log/* 结果我可以直接告诉你是哪一个服务在作妖。