一、内存控制
vm_memory_high_watermark
该值为内存阈值,默认为0.4。意思为物理内存的40%。40%的内存并不是内存的最大的限制,它是一个发布的节制,当达到40%时Erlang会做GC。最坏的情况是使用内存80%。如果把该值配置为0,将关闭所有的publishing 。
可以修改rabbitmq.conf
配置文件:
[{rabbit,[{vm_memory_high_watermark,0.6}]}].
或者设置成固定值:
[{rabbit,[{vm_memory_high_watermark,{absolute,1073741824}}]}]
也就是1024MB.
如果要在broker
运行过程中修改,则运行
rabbitmqctl set vm_memory_high_watermark 0.6
vm_memory_high_watermark_paging_ratio
内存阈值,该值为默认为0.5
,该值为vm_memory_high_watermark
的20%时,将把内存数据写到磁盘。
如机器内存16G,当RABBITMQ占用内存1.28G(160.40.2)时把内存数据放到磁盘。
二、硬盘控制
当RabbitMQ的磁盘空闲空间小于50M(默认),生产者将被BLOCK
,
如果采用集群模式,磁盘节点空闲空间小于50M将导致其他节点的生产者都被block,可以通过disk_free_limit
来对进行配置。
本文由 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为: 2020/05/16 03:16