Linux手动释放cache缓存

当遇到Linux服务器CPU占用高、内存爆满且程序停止后内存无法释放的问题时,可以使用vmstat命令查看,发现cache内存占用较大。通过设置/proc/sys/vm/drop_caches来手工释放cache内存,释放后可通过free或vmstat命令检查内存是否已成功释放。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、遇到的问题

服务器CPU占用飙升报警,后发现内存爆满,程序停止后依然有大半内存释放不掉

二、查看哪部分内存没释放,使用vmstat命令

   #  vmstat 2

观察到cache的内存无法释放,考虑手工释放cache内存

三、手工释放cache内存

   1、首先,/proc/sys/vm/drop_caches的值,默认为0。

# cat /proc/sys/vm/drop_caches
0
2、手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)

# sync
3、将/proc/sys/vm/drop_caches值设为3

# echo 3 > /proc/sys/vm/drop_caches
# cat /proc/sys/vm/drop_caches
3
四、问题解决

       再来运行free命令,或vmstat命令发下内存已成功释放。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值