在 Linux 中,“释放缓存”通常指释放 页缓存(page cache)、目录项缓存(dentries)和 inode 缓存。这些缓存由系统自动管理,一般不建议手动释放,因为 Linux 会按需回收,手动释放可能导致短期性能下降。
如果你确实有必要(如测试、排障、释放内存),可以按以下方式操作。
free -h
或
cat /proc/meminfo
关注:
BuffersCachedSReclaimablesync
echo 3 > /proc/sys/vm/drop_caches
说明:
sync:先写回磁盘,防止数据丢失echo 3:释放 pagecache + dentries + inodessync
echo 1 > /proc/sys/vm/drop_caches
sync
echo 2 > /proc/sys/vm/drop_caches
sysctl vm.drop_caches=3
echo 2 > /proc/sys/vm/drop_caches
或查看:
cat /proc/slabinfo
✅ 不会释放正在使用的内存
✅ 不会影响运行中的进程
❌ 不建议生产环境频繁使用
❌ 不能“优化性能”,只是清空缓存
Linux 设计原则:
空闲内存 = 浪费内存
缓存会自动在内存紧张时回收
那是正常的,不需要处理。
如果你愿意,可以告诉我:
我可以给你更合适的建议。