温馨提示×

为什么ubuntu磁盘总满

小樊
47
2026-09-23 23:22:07
栏目: 智能运维

Ubuntu 磁盘“总是满”通常不是因为系统本身有问题,而是某些文件在持续占用空间而你没注意到。下面按最常见原因 → 排查方法 → 解决方式给你总结一下。


一、最常见原因(90% 的情况)

1️⃣ 日志文件(journal / syslog)无限增长

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

2️⃣ apt 缓存没清理

安装软件后,deb 包会留在磁盘里。

查看:

du -sh /var/cache/apt/archives

清理:

sudo apt clean

3️⃣ 快照 / 旧内核占满 /boot

Ubuntu 会自动更新内核,但不自动删旧内核。

查看:

dpkg --list | grep linux-image

清理旧内核(保留当前):

sudo apt autoremove --purge

如果 /boot 已满,这是第一嫌疑。


4️⃣ Docker / 容器垃圾(如果你装了 Docker)

Docker 非常能吃磁盘。

查看:

docker system df

清理:

docker system prune -a

⚠️ 会删除未使用的镜像和容器


5️⃣ 用户目录大文件(下载 / 虚拟机 / 数据集)

du -sh ~/* | sort -h

常见凶手:

  • ~/Downloads
  • ~/VirtualBox VMs
  • AI 模型(几十 GB)

6️⃣ 已删除文件仍被进程占用(磁盘“假满”)

文件删了,但程序还在用。

查看:

sudo lsof | grep deleted

重启相关服务或系统即可释放。


二、快速定位“是谁占满”

一条命令看整体:

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

一级一级往下找就行。


三、Ubuntu 磁盘总满的典型组合

你大概率遇到的是:

✅ /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

0 踩