在 Debian(及其他 Linux 发行版)中,分区突然或逐渐“变满”是很常见的问题,原因通常可以归为以下几类。下面按最常见 → 较少见的顺序说明,并给出排查方法。
系统日志、服务日志(如 syslog、journalctl、nginx、docker)可能无限增长。
检查:
sudo du -sh /var/log/*
清理 journal 日志:
sudo journalctl --vacuum-size=200M
APT 下载的 .deb 包不会自动删除。
检查:
du -sh /var/cache/apt/archives
清理:
sudo apt clean
尤其是 /home 或 /root。
查找大文件:
du -h --max-depth=1 /home
或:
ncdu /
Docker 默认把镜像、容器、卷放在 /var/lib/docker。
检查:
du -sh /var/lib/docker
清理:
docker system prune -a
文件删了,但进程还在写,空间不释放。
检查:
lsof | grep deleted
解决: 重启相关服务或进程。
磁盘还有空间,但 inode 用完。
检查:
df -i
常见于大量小文件(如缓存、session)。
/swapfile最推荐工具:
sudo apt install ncdu
sudo ncdu /
| 现象 | 原因 |
|---|---|
/ 突然满 |
日志 / docker |
/var 满 |
apt / journal |
/home 满 |
用户数据 |
| 删了文件还是满 | 进程占用 |
| 有空间但写不了 | inode 满 |
如果你愿意,可以贴出:
df -h
df -i
我可以帮你精准判断是哪一种情况。