在 Ubuntu(以及大多数 Linux 发行版)中,释放缓存通常指的是释放 Page Cache、dentries 和 inodes 缓存。这些缓存由内核自动管理,一般不需要手动释放,但在某些调试或测试场景下可以手动操作。
free -h
或
cat /proc/meminfo
你会看到类似:
MemTotalMemFreeBuffersCachedSReclaimable其中 Cached 就是可回收的缓存。
sudo sync
sudo sysctl vm.drop_caches=3
sync:确保数据写入磁盘
vm.drop_caches=3 表示:
1:释放 page cache2:释放 dentries 和 inodes3:释放以上全部sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
free -h
你会看到 cached 明显下降。
Linux 的设计理念是:
空闲内存 = 浪费内存
缓存会显著提升磁盘读写性能。
❌ 释放缓存会“清理内存占用”
✅ 缓存是 可回收内存,不是真正的占用
❌ 释放缓存能解决 OOM
✅ 真正的内存不足需要排查进程或加内存
sudo apt clean
sudo apt autoclean
rm -rf ~/.cache/*
sudo journalctl --vacuum-time=7d
Ubuntu 缓存由内核自动管理,除非调试或测试,否则不建议手动释放。
如果你能说明具体场景(如:服务器、Docker、桌面卡顿、OOM),我可以给你更精准的建议。