温馨提示×

ubuntu文件系统为何满了

小樊
39
2026-09-16 08:56:54
栏目: 智能运维

Ubuntu 文件系统“满了”通常由以下几类原因导致,按最常见 → 较少见说明,并给出排查方法。


一、最常见原因

1. 日志文件(/var/log)占满

系统或服务的日志(如 syslogjournalctl)无限增长。

检查:

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

清理:

sudo journalctl --vacuum-size=100M
sudo rm /var/log/*.log.old

2. 软件包缓存(/var/cache/apt)

apt 下载的 .deb 文件未清理。

检查:

du -sh /var/cache/apt/archives

清理:

sudo apt clean
sudo apt autoclean

3. 已删除但被进程占用的文件

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

检查:

sudo lsof | grep deleted

解决:

  • 重启对应服务
  • kill 相关进程

4. Docker / 容器占用

Docker 镜像、容器、卷极易占满磁盘。

检查:

docker system df

清理:

docker system prune -a

5. 用户目录大文件(~/Downloads、~/snap)

  • 下载文件
  • snap 包多版本堆积

检查:

du -sh ~/* | sort -h

二、系统级原因

6. inode 用完(不是空间)

文件数量极多(小文件)。

检查:

df -i

解决:

  • 删除大量小文件(如缓存、session)

7. 根分区太小 / 单独分区满

/home/var 单独挂载。

检查:

df -h

8. 系统崩溃生成 core dump

du -sh /var/crash

清理:

sudo rm /var/crash/*

三、快速定位命令(推荐)

df -h
sudo du -sh /* 2>/dev/null | sort -h

四、你可以补充的信息

我可以更精准判断:

  • df -h 输出
  • 是否是 WSL / 虚拟机 / 物理机
  • 是否刚装过 Docker / MySQL / 日志服务

如果你愿意,把 df -hdu -sh /* 的结果贴出来即可。

0