Ubuntu 磁盘“总是满”通常不是因为系统本身有问题,而是某些文件在持续占用空间而你没注意到。下面按最常见原因 → 排查方法 → 解决方式给你总结一下。
Ubuntu 使用 systemd-journald,日志可能非常大。
检查:
journalctl --disk-usage
清理:
sudo journalctl --vacuum-size=200M
另外看:
du -sh /var/log/*
如果 syslog 或 kern.log 很大:
sudo truncate -s 0 /var/log/syslog
安装软件后,deb 包会留在磁盘里。
查看:
du -sh /var/cache/apt/archives
清理:
sudo apt clean
Ubuntu 会自动更新内核,但不自动删旧内核。
查看:
dpkg --list | grep linux-image
清理旧内核(保留当前):
sudo apt autoremove --purge
如果 /boot 已满,这是第一嫌疑。
Docker 非常能吃磁盘。
查看:
docker system df
清理:
docker system prune -a
⚠️ 会删除未使用的镜像和容器
du -sh ~/* | sort -h
常见凶手:
~/Downloads~/VirtualBox VMs文件删了,但程序还在用。
查看:
sudo lsof | grep deleted
重启相关服务或系统即可释放。
一条命令看整体:
sudo du -x -h --max-depth=1 / | sort -h
一级一级往下找就行。
你大概率遇到的是:
✅ /var 满(日志 / apt)
✅ /boot 满(内核)
✅ Docker 没清理
✅ 小硬盘 + 自动更新
# 定期清理
sudo apt autoremove
sudo apt clean
sudo journalctl --vacuum-time=7d
可以加到 cron:
0 3 * * * apt clean && journalctl --vacuum-size=300M
如果你愿意,可以把下面命令的输出发我,我直接帮你判断是哪一种:
df -h
sudo du -x -h --max-depth=1 / | sort -h