温馨提示×

ubuntu文件系统为何满盘

小樊
52
2026-09-01 06:16:15
栏目: 智能运维

在 Ubuntu(或其他 Linux 系统)中,“文件系统满盘”通常不是单一原因,而是几类常见问题叠加。下面按最常见 → 较少见给你系统梳理,并给出排查与解决思路


一、最常见原因

1️⃣ 日志文件(Log)无限增长

常见于:

  • /var/log/
  • /var/log/syslog
  • /var/log/kern.log
  • journald 日志(/var/log/journal

原因

  • 服务异常循环报错
  • journald 未限制大小
  • 磁盘写满后被“滚雪球”

排查

sudo du -sh /var/log/*
journalctl --disk-usage

解决

sudo journalctl --vacuum-size=200M
sudo truncate -s 0 /var/log/syslog

2️⃣ Docker / 容器数据爆炸(非常常见)

如果你装了 Docker:

  • /var/lib/docker
  • overlay2 层文件
  • 未清理的镜像 / 容器 / 卷

排查

docker system df

解决

docker system prune -a

3️⃣ 软件包缓存堆积

/var/cache/apt/archives/

解决

sudo apt clean
sudo apt autoremove

4️⃣ 用户主目录文件过多

  • 下载文件
  • 编译产物
  • 虚拟机镜像
  • 数据集

排查

du -sh ~/*

二、容易被忽略的原因

5️⃣ inode 满,但空间没满

df -i

如果你看到:

Filesystem    Inodes   IUsed   IFree  IUse%  Mounted on
/dev/sda1     xxx      xxx      0    100%  /

说明小文件太多(如 session、缓存)

✅ 解决办法:找小文件目录

find / -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n

6️⃣ 已删除文件仍被进程占用

磁盘显示满,但 du 找不到大文件

排查

sudo lsof | grep deleted

解决

  • 重启相关服务
  • 或清空对应文件描述符

7️⃣ 挂载点“掩盖”真实占用

例如:

  • /mnt/disk 挂载失败
  • 文件写到了根分区而不是数据盘

排查

df -h
mount | grep /mnt

8️⃣ 快照 / 备份 / Timeshift

  • Timeshift
  • rsync 备份
  • 云服务器自动快照(不占 df,但占底层)

三、快速定位“到底谁占空间”

一层层查(最实用)

sudo du -h --max-depth=1 / | sort -h

然后再深入:

sudo du -h --max-depth=1 /var | sort -h

四、你可以直接告诉我这些信息

我可以更精准判断:

  1. df -h 输出
  2. df -i 输出
  3. 是否使用 Docker
  4. 是云服务器还是本地机
  5. 满了的是 / 还是某个挂载点

如果你愿意,把上面命令结果贴出来,我可以帮你“精准定位到目录”。

0