RocketMQ os.sh 参数优化讲解

RocketMQ在消息读写上的处理是其性能的关键,重度依赖底层操作系统的特性。os.sh中提供了一组默认的操作系统参数配置,这里一条条来分析下。

命令

sudo sysctl -w vm.extra_free_kbytes=2000000

这个参数应该也是用来控制空闲内存大小的。但是很多发行版没有这个参数,一般根据部署环境看是否支持,不支持的话不进行设置应该也没关系。

sudo sysctl -w vm.min_free_kbytes=1000000

设置系统需要保留的最小内存大小。当系统内存小于该数值时,则不再进行内存分配。这个命令默认被注释掉,根据文档看,如果设置了不恰当的值,比如比实际内存大,则系统可能直接就会崩溃掉。实际数值应该根据RocketMQ部署机器的内存进行计算,经验数值大概是机器内存的5% - 10%。

这个数值设置的过高,则内存浪费。若设置的过低,那么在内存消耗将近时,RocketMQ的Page Cache写入操作可能会很慢,导致服务不可用。

sudo sysctl -w vm.overcommit_memory=1

控制是否允许内存overcommit。设为1,则是允许。当应用申请内存时,系统都会认为存在足够的内存,准许申请。

解释:

可选值:0、1、2。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值