Linux 系统中手动释放内存缓存的常用指令

# 加 sudo 获取 root 权限,确保执行成功
sudo sync && sudo echo 3 > /proc/sys/vm/drop_caches

使用场景与注意事项

1. 适用场景

  • 临时释放内存:系统缓存占用过高(如大量文件读写后),导致可用内存不足,可临时清理;
  • 测试 / 排查问题:验证内存泄漏问题(清理缓存后观察内存是否快速回升);
  • 注意:Linux 本身会自动管理缓存,当系统需要内存时,会自动释放缓存,无需定期手动执行,频繁清理反而会降低系统性能(因为缓存是提升读写速度的)。

2. 关键注意事项

  • 仅清理缓存,不释放交换分区(swap):如果 swap 占用高,该命令无效,需排查内存泄漏的程序;
  • 不影响运行中的程序:缓存是 “临时数据”,清理后程序需要时会重新生成,不会导致程序崩溃;
  • 执行后可能短暂卡顿:清理大量缓存时,系统可能短暂重新加载数据,属于正常现象。
Categories: 系统运维