在 CentOS(以及大多数 RHEL 系发行版)里,你说的 “message 那么大” 通常指的是下面几种情况之一,我分别解释原因和解决办法:
/var/log/messages 文件特别大这是最常见的情况。
系统日志集中写在这里
rsyslog/var/log/messages错误日志刷屏
sshd、crond)没有日志轮转(logrotate)
logrotate 没生效# 查看大小
ls -lh /var/log/messages
# 查看最后内容
tail -n 100 /var/log/messages
# 清空(不删文件)
> /var/log/messages
检查 logrotate:
cat /etc/logrotate.d/syslog
dmesg / kernel message 很多如果是指内核日志多:
dmesg | tail
常见原因:
/var/log/messages-YYYYMMDD 多个历史文件这是 logrotate 正常行为,但如果你看到:
messages-20240101messages-20240108说明:
可修改:
vi /etc/logrotate.d/syslog
例如:
/var/log/messages {
missingok
notifempty
size 100M
rotate 4
compress
}
/var/log/messagesmessages 仍在journalctl查看:
journalctl -p err
# 看哪些内容占最多
grep -o '^[A-Za-z]*' /var/log/messages | sort | uniq -c | sort -nr | head
如果你能告诉我:
/var/log/messages 还是别的我可以给你更精准的优化方案。