温馨提示×

ubuntu缓存为何越来越大

小樊
37
2026-09-12 18:48:52
栏目: 智能运维

在 Ubuntu(以及大多数 Linux 发行版)中,“缓存越来越大”通常不是内存泄漏,也不是系统异常,而是 Linux 内存管理机制的正常表现。下面分几种常见情况说明:


一、最常见原因:Linux 的「Page Cache(页面缓存)」

1. 什么是 Page Cache?

当你:

  • 读取文件
  • 安装软件
  • 编译代码
  • 打开大文件

Linux 会把文件内容缓存在内存中,下次再访问就更快。

这就是你看到的:

buff/cache 占用越来越高

2. 这是好事,不是坏事

  • 缓存随时可被释放
  • 应用程序需要内存时,内核会自动回收

查看内存:

free -h

你会看到类似:

Mem:  15G  3G  1G  11G

其中 11G 是 cache,但实际可用内存很多

释放缓存(一般没必要):

sudo sync
sudo echo 3 > /proc/sys/vm/drop_caches

二、APT / 软件包缓存越来越大

1. apt 缓存

Ubuntu 会把下载的 .deb 存在:

/var/cache/apt/archives/

清理:

sudo apt clean
sudo apt autoclean

2. 旧内核占用空间

升级内核后,旧内核不会自动删:

查看:

dpkg --list | grep linux-image

清理旧内核:

sudo apt autoremove --purge

三、Snap 应用缓存(Ubuntu 特有)

Snap 会保留多个版本:

/snap/
/var/lib/snapd/

查看占用:

du -sh /var/lib/snapd

清理旧版本(需安装工具):

sudo snap refresh

四、用户级缓存(Home 目录)

常见大目录:

~/.cache/
~/.local/share/
~/.thumbnails/

查看:

du -sh ~/.cache

清理(谨慎):

rm -rf ~/.cache/*

五、日志文件越来越大

1. journal 日志

journalctl --disk-usage

限制大小:

sudo journalctl --vacuum-size=200M

2. 普通日志

/var/log/

六、真正需要警惕的情况(少但重要)

如果 available 内存很少 + swap 频繁使用,可能是:

  • 内存泄漏程序
  • 某个服务异常

排查:

top
htop
ps aux --sort=-%mem

总结一句话

Ubuntu 缓存变大,90% 以上是 Page Cache,完全正常
真正该清理的是 apt、snap、日志、旧内核

如果你愿意,可以贴一下:

free -h
df -h

我可以帮你具体分析是哪一类在涨。

0