Linux 日志突然变大(例如 /var/log 下某个文件迅速膨胀)通常由以下几类原因导致。我按最常见 → 较少见给你梳理,并给出排查方法。
✅ 排查:
ls -lh /var/log
du -sh /var/log/* | sort -h
再看具体文件:
tail -f /var/log/xxx.log
copytruncate 没加)✅ 排查:
ps aux | grep logrotate
ls -l /etc/logrotate.d/
✅ 手动触发:
logrotate -fv /etc/logrotate.conf
这是经典坑:
rmdf 显示空间满,ls 却看不到大文件✅ 排查:
lsof | grep deleted
✅ 解决:
> 文件 清空而非删systemd / journald 爆量✅ 查看:
journalctl -p err -b
du -sh /var/log/journal
✅ 限制 journal 大小:
# /etc/systemd/journald.conf
SystemMaxUse=500M
✅ 示例:
tail -f /var/log/nginx/error.log
✅ 排查:
crontab -l
/var/log/cron
✅ 检查:
/var/log/secure
/var/log/auth.log
last
✅ 看内核日志:
dmesg | tail
# 实时看哪个文件在涨
watch -n 1 'du -sh /var/log/* | sort -h'
# 看谁在写文件(需安装 audit 或 fatrace)
fatrace
du + tail + lsof)如果你愿意,可以告诉我:
/var/log/xxx)我可以直接帮你精准定位原因。