温馨提示×

centos message磁盘满了为何

小樊
50
2026-09-27 06:28:59
栏目: 智能运维

在 CentOS 系统中,“message 磁盘满了”(通常指 /var/log/messages 或系统提示磁盘空间不足)一般不是“message 这个文件本身满了”,而是磁盘空间被占满,导致系统日志无法写入或系统报警。常见原因和排查方法如下:


一、常见原因

1. /var/log 日志占满(最常见)

  • /var/log/messages
  • /var/log/maillog
  • /var/log/secure
  • /var/log/cron

某些服务(如 nginx、mysql、docker)日志异常暴增。

2. inode 被占满(不是空间满)

df -i

如果 IUsed 接近 IFree,说明是小文件太多。

3. 大文件或 core 文件

  • 程序崩溃生成 core.*
  • 备份文件、tar 包误放系统盘

4. 删除中的文件仍被进程占用

lsof | grep deleted

文件删了但空间不释放。

5. 挂载问题

  • /var 没单独挂载
  • 某个目录其实是另一块盘,但挂载失败

二、快速排查步骤(推荐)

1️⃣ 看磁盘使用情况

df -h

确认是哪块盘(通常是 /)

2️⃣ 看 inode

df -i

3️⃣ 找大目录

du -sh /* 2>/dev/null
du -sh /var/* 2>/dev/null

4️⃣ 看日志大小

ls -lh /var/log/

5️⃣ 看被删但未释放的文件

lsof | grep deleted

三、常见解决方法

✅ 清理日志(安全)

# 清空 messages(不删文件)
> /var/log/messages

# 或
journalctl --vacuum-size=100M

✅ 配置日志轮转

vi /etc/logrotate.conf

确保有:

/var/log/messages {
    rotate 7
    daily
    compress
    missingok
    notifempty
}

✅ 重启占用 deleted 文件的进程

systemctl restart 服务名

四、如果你愿意

你可以把下面命令的输出贴出来,我可以精准告诉你哪满了:

df -h
df -i
du -sh /var/log/*

如果你说的 “message 磁盘满了”是某个具体报错原文,也直接贴出来更好判断。

0 踩