温馨提示×

Ubuntu缓存为何过大

小樊
42
2026-08-06 18:23:23
栏目: 智能运维

Ubuntu 系统缓存过大通常是由系统自动维护机制用户操作习惯共同导致的,以下是具体原因及对应的缓存类型分析:


一、常见缓存类型及原因

1. APT 软件包缓存(最常见)

  • 位置/var/cache/apt/archives/
  • 原因
    • 使用 apt install 下载的 .deb 包不会自动删除
    • 系统更新、升级会不断累积旧版本包
  • 特点
    • 体积增长快
    • 可安全清理

✅ 清理方式:

sudo apt clean
sudo apt autoclean

2. 系统日志缓存(journalctl)

  • 位置/var/log/journal/
  • 原因
    • systemd 默认长期保存日志
    • 长时间不重启或日志级别过低
  • 特点
    • 可达数百 MB 甚至 GB

✅ 清理方式:

sudo journalctl --vacuum-time=7d

3. Snap 应用缓存(非常占空间)

  • 位置/snap/var/lib/snapd/
  • 原因
    • Snap 默认保留多个旧版本
  • 特点
    • 容易占用 5–20GB

✅ 清理方式:

sudo snap list --all
sudo snap remove <包名> --revision=<版本号>

4. 缩略图缓存

  • 位置~/.cache/thumbnails/
  • 原因
    • 文件管理器自动生成图片、视频缩略图
  • 特点
    • 长期不清理会越来越大

✅ 清理方式:

rm -rf ~/.cache/thumbnails/*

5. 用户缓存(浏览器 / Flatpak / 应用)

  • 位置
    • ~/.cache/
    • ~/.mozilla/, ~/.config/google-chrome/
  • 原因
    • 浏览器、IDE、开发工具缓存

6. 内存缓存(不是磁盘占用)

  • 现象free -h 看到 buff/cache 很大
  • 原因
    • Linux 自动用空闲内存做文件系统缓存
  • 特点
    • 不是异常
    • 内存不足时会自动释放

✅ 这是正常行为,无需处理


7. 旧内核未清理

  • 位置/boot
  • 原因
    • 多次系统更新导致多个内核共存

✅ 清理方式:

sudo apt autoremove --purge

二、快速定位“到底谁在吃空间”

查看整体磁盘占用

df -h

查找大目录

sudo du -h --max-depth=1 / | sort -hr | head -20

图形化工具(推荐)

sudo apt install baobab
baobab

三、Ubuntu 缓存“大”但安全吗?

大部分缓存是安全的清理不会影响系统和已安装软件 ❌ **不建议:

  • 手动删除 /var/usr 里不认识的东西**
  • 使用不明“清理脚本疯狂 rm -rf”**

四、推荐的安全清理组合(放心用)

sudo apt clean
sudo apt autoremove --purge
sudo journalctl --vacuum-time=7d
rm -rf ~/.cache/thumbnails/*

如果你愿意,可以把下面命令的输出贴出来,我可以帮你精确判断是哪一类缓存异常大

df -h
du -sh /var/cache/apt /var/log/journal ~/.cache

0