如果你的服务器内存占用过高,导致运行缓慢或宕机,可以用以下这条 Linux 命令 来尝试快速释放缓存内存:
# 这个参数可以用来指示内核 主动释放内存缓存,但不会影响正在运行的程序。
sync; echo 3 > /proc/sys/vm/drop_caches
命令详解
- sync:把内存中的数据写入磁盘,确保数据不会因为释放缓存而丢失。
- echo 3 > /proc/sys/vm/drop_caches:
- 0(默认) 不释放任何缓存,完全由内核自己管理。
- 1 释放页缓存
- 2 释放目录项缓存和inode缓存
- 3 同时释放上述所有缓存
注意事项
- 不要频繁使用:这会影响系统性能。Linux 的缓存机制是为了加速访问,手动清除可能适得其反。
- 建议只在必要时使用:比如内存资源非常紧张。
- 不是内存泄漏的解决方案:如果应用不断增长内存占用,这条命令无效,需要排查代码或服务。
可以使用下面命令来对比前后内存变化
free -h