温馨提示×

如何释放Ubuntu缓存

小樊
48
2026-08-06 18:32:21
栏目: 智能运维

在 Ubuntu(以及大多数 Linux 发行版)中,释放缓存通常指的是释放 Page Cache、dentries 和 inodes 缓存。这些缓存由内核自动管理,一般不需要手动释放,但在某些调试或测试场景下可以手动操作。


一、查看当前内存和缓存使用情况

free -h

或

cat /proc/meminfo

你会看到类似:

  • MemTotal
  • MemFree
  • Buffers
  • Cached
  • SReclaimable

其中 Cached 就是可回收的缓存。


二、释放缓存(需要 root 权限)

✅ 方式一:释放所有缓存(推荐)

sudo sync
sudo sysctl vm.drop_caches=3

sync:确保数据写入磁盘
vm.drop_caches=3 表示:

  • 1:释放 page cache
  • 2:释放 dentries 和 inodes
  • 3:释放以上全部

✅ 方式二:使用 echo(效果相同)

sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'

三、释放后验证

free -h

你会看到 cached 明显下降。


四、是否需要释放缓存?

✅ 通常 不需要

Linux 的设计理念是:

空闲内存 = 浪费内存

缓存会显著提升磁盘读写性能。

❌ 不建议频繁释放

  • 可能导致性能下降
  • 不会“增加可用内存”的实质性收益
  • 只是让缓存重新建立

五、常见误区

❌ 释放缓存会“清理内存占用”
✅ 缓存是 可回收内存,不是真正的占用

❌ 释放缓存能解决 OOM
✅ 真正的内存不足需要排查进程或加内存


六、如果你是想清理其他缓存

1️⃣ APT 缓存

sudo apt clean
sudo apt autoclean

2️⃣ 用户缓存(如浏览器、桌面)

rm -rf ~/.cache/*

3️⃣ journal 日志缓存

sudo journalctl --vacuum-time=7d

七、总结(一句话)

Ubuntu 缓存由内核自动管理,除非调试或测试,否则不建议手动释放。

如果你能说明具体场景(如:服务器、Docker、桌面卡顿、OOM),我可以给你更精准的建议。

0 踩