温馨提示×

debian分区为何变满

小樊
42
2026-09-10 18:01:27
栏目: 智能运维

在 Debian(及其他 Linux 发行版)中,分区突然或逐渐“变满”是很常见的问题,原因通常可以归为以下几类。下面按最常见 → 较少见的顺序说明,并给出排查方法。


一、最常见原因

1. 日志文件(/var/log)过大

系统日志、服务日志(如 syslog、journalctl、nginx、docker)可能无限增长。

检查:

sudo du -sh /var/log/*

清理 journal 日志:

sudo journalctl --vacuum-size=200M

2. 包管理缓存(/var/cache/apt)

APT 下载的 .deb 包不会自动删除。

检查:

du -sh /var/cache/apt/archives

清理:

sudo apt clean

3. 用户文件 / 家目录占满

尤其是 /home 或 /root。

查找大文件:

du -h --max-depth=1 /home

或:

ncdu /

4. Docker / 容器数据爆炸(非常常见)

Docker 默认把镜像、容器、卷放在 /var/lib/docker。

检查:

du -sh /var/lib/docker

清理:

docker system prune -a

二、容易忽略的原因

5. 已删除文件仍被进程占用

文件删了,但进程还在写,空间不释放。

检查:

lsof | grep deleted

解决: 重启相关服务或进程。


6. inode 用尽(不是空间满)

磁盘还有空间,但 inode 用完。

检查:

df -i

常见于大量小文件(如缓存、session)。


7. 快照 / 备份文件

  • Timeshift
  • rsync 备份
  • 虚拟机镜像

8. 交换文件或核心转储

  • /swapfile
  • core dump 文件

三、快速定位“谁占满了”

最推荐工具:

sudo apt install ncdu
sudo ncdu /

四、典型场景总结

现象 原因
/ 突然满 日志 / docker
/var 满 apt / journal
/home 满 用户数据
删了文件还是满 进程占用
有空间但写不了 inode 满

如果你愿意,可以贴出:

df -h
df -i

我可以帮你精准判断是哪一种情况。

0 踩