在 Ubuntu 中“缓存满了”通常不是指传统意义上的“磁盘缓存把内存吃光导致问题”,而是系统用于加速文件读写的页缓存(Page Cache)占用了大量内存,或者你看到的“缓存”其实是某个具体目录/分区(如 /var/cache、apt 缓存、Docker 缓存等)空间占满。
下面分几种常见情况给你讲清楚:
你用 free -h 或 top 看到:
total used free shared buff/cache available
Mem: 16G 3.2G 1.1G 200M 11G 11G
其中 buff/cache 很大,这是正常现象。
✅ 不是故障,不需要清理
❌ 不要盲目执行 echo 3 > /proc/sys/vm/drop_caches
常见于:
du -sh /var/cache/apt
清理:
sudo apt clean
sudo apt autoclean
journalctl --disk-usage
清理:
sudo journalctl --vacuum-time=7d
docker system df
清理:
docker system prune -a
可能是:
sudo lsof +L1
重启相关服务即可释放。
df -h
sudo du -h --max-depth=1 /
Ubuntu 的“缓存满”大多不是问题,而是 Linux 的正常机制;真正需要处理的,是 /var/cache、docker、日志等可清理缓存。
如果你愿意,可以把下面命令的输出发给我,我可以直接帮你判断是哪一种:
free -h
df -h
du -sh /var/cache/* 2>/dev/null