温馨提示×

centos日志为什么突然变大

小樊
55
2026-10-06 01:23:28
栏目: 智能运维

CentOS 日志突然变大,通常不是单一原因,而是以下几类情况之一。你可以按需对照排查:


一、系统日志服务相关

1. journald 日志暴涨(最常见)

CentOS 7/8 默认使用 systemd-journald

原因:

  • 某个服务疯狂写日志(报错循环)
  • 未限制 journal 大小
  • 系统异常重启、内核崩溃

排查:

journalctl --disk-usage

查看哪个服务日志最多:

journalctl -o short-precise | awk '{print $1}' | sort | uniq -c | sort -nr | head

解决:

# 限制 journal 大小
mkdir -p /etc/systemd/journald.conf.d
cat > /etc/systemd/journald.conf.d/size.conf <<EOF
[Journal]
SystemMaxUse=500M
SystemKeepFree=1G
EOF

systemctl restart systemd-journald

2. rsyslog 日志异常

/var/log/messages、secure 突然变大

原因:

  • 暴力破解 SSH(secure 暴涨)
  • 网络抖动导致服务不断重连
  • 应用直接写系统日志

排查:

ls -lh /var/log/
du -sh /var/log/*

看 secure 示例:

tail -f /var/log/secure

二、应用日志失控

3. 应用未做日志轮转

如:

  • Nginx
  • Tomcat
  • Java 程序
  • 自定义脚本

表现:

  • /var/log/nginx/access.log 巨大
  • 无 logrotate

排查:

lsof | grep deleted
du -sh /var/log/*

解决:

  • 确认是否配置了 logrotate
  • 检查应用日志级别是否过低(debug)

三、日志轮转失效

4. logrotate 没执行

常见原因:

  • cron 服务没开
  • logrotate 配置错误
  • 磁盘满导致轮转失败

检查:

systemctl status crond
ls /etc/logrotate.d/

手动执行测试:

logrotate -d /etc/logrotate.conf
logrotate -f /etc/logrotate.conf

四、磁盘 & 文件异常

5. deleted 文件仍被占用

日志删了但空间没释放

lsof | grep deleted

重启对应进程即可释放。


6. 根分区写满导致异常

df -h
df -i

inode 满也会导致日志异常。


五、攻击或异常行为

7. 被攻击或挖矿

  • 大量连接日志
  • 异常进程写日志

排查:

top
netstat -antup
journalctl -p err -x

快速定位步骤(推荐)

df -h
du -sh /var/log/*
journalctl --disk-usage
ls -lh /var/log/

如果你能贴出:

  • CentOS 版本
  • 具体哪个日志变大
  • du -sh /var/log/* 的结果

我可以帮你精准判断原因。

0 踩