温馨提示×

怎么释放ubuntu缓存

小樊
43
2026-10-06 20:00:46
栏目: 智能运维

在 Ubuntu(Linux)系统中,“释放缓存”通常指的是释放 页缓存(page cache)、目录项缓存(dentry)和 inode 缓存。这些缓存由系统自动管理,一般不需要手动释放,但在某些测试或排障场景下可以手动操作。


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

free -h

或

cat /proc/meminfo

关注:

  • MemFree
  • Buffers
  • Cached

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

1️⃣ 释放 page cache(页缓存)

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

2️⃣ 释放 dentries 和 inodes(目录项和索引节点)

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

3️⃣ 释放所有缓存(pagecache + dentries + inodes)

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

⚠️ sync 是为了先把脏数据写回磁盘,避免数据丢失。


三、更安全的写法(推荐)

因为 echo 重定向需要 root,推荐这样写:

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

四、临时 & 永久设置(不推荐常用)

临时修改缓存回收策略(示例)

sudo sysctl vm.vfs_cache_pressure=100

永久修改(谨慎)

编辑:

sudo nano /etc/sysctl.conf

添加:

vm.drop_caches=3

(一般不建议)


五、重要说明(非常关键)

✅ Linux 缓存是正常的

  • 缓存会加快系统速度
  • 内存不足时,系统会自动回收缓存
  • 手动释放缓存不会提升性能,反而可能短暂变慢

❌ 不建议:

  • 定时脚本频繁 drop caches
  • 生产服务器盲目清缓存

如果你是想:

  • 解决 内存占用高
  • 排查 OOM / 卡顿
  • 做 性能测试前后对比

可以告诉我具体场景,我帮你给更合适的方案。

0 踩