RabbitMQ 内存控制 硬盘控制
来源:互联网 发布:蓝光数据恢复中心 编辑:程序博客网 时间:2024/04/29 05:06
一、内存控制:
vm_memory_high_watermark 该值为内存阈值,默认为0.4。意思为物理内存的40%。40%的内存并不是内存的最大的限制,它是一个发布的节制,当达到40%时Erlang会做GC。最坏的情况是使用内存80%。如果把该值配置为0,将关闭所有的publishing 。
rabbitmqctl set_vm_memory_high_watermark 0
Paging 内存阈值,该值为默认为0.5,该值为vm_memory_high_watermark的20%时,将把内存数据写到磁盘。
如机器内存16G,当RABBITMQ占用内存1.28G(16*0.4*0.2)时把内存数据放到磁盘。
二、硬盘控制:
当RabbitMQ的磁盘空闲空间小于50M(默认),生产者将被BLOCK,
如果采用集群模式,磁盘节点空闲空间小于50M将导致其他节点的生产者都被block
可以通过disk_free_limit来对进行配置。
------------------------------------------------------------------\
可以修改rabbitmq-env.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
-------------------------------------------------\
三. 配置
/usr/local/rabbitmq/sbin目录下
rabbitmq-env 环境配置
rabbitmq-defaults 默认参数设置
rabbitmqctl 管理工具
rabbitmq-plugins 插件管理工具
rabbitmq-server rabbitmq服务
# vim rabbitmq-defaults
主要配置文件
1. enabled_plugins:设置允许的插件列表,格式如下:
2. rabbitmq.config:设置rabbitmq运行参数。结构为hash数组格式。如
其中几个关键参数为:
tcp_listerners 设置rabbimq的监听端口,默认为[5672]。
disk_free_limit 磁盘低水位线,若磁盘容量低于指定值则停止接收数据,默认值为{mem_relative, 1.0},即与内存相关联1:1,也可定制为多少byte.
vm_memory_high_watermark,设置内存低水位线,若低于该水位线,则开启流控机制,默认值是0.4,即内存总量的40%。
hipe_compile 将部分rabbimq代码用High Performance Erlang compiler编译,可提升性能,该参数是实验性,若出现erlang vm segfaults,应关掉。
force_fine_statistics, 该参数属于rabbimq_management,若为true则进行精细化的统计,但会影响性能。
/usr/local/etc/rabbitmq/rabbitmq.config
[{auth_backends,[rabbit_auth_backend_internal]},
{auth_mechanisms,['PLAIN','AMQPLAIN']},
{backing_queue_module,rabbit_variable_queue},
{cluster_nodes,[]},
{collect_statistics,fine},
{collect_statistics_interval,5000},
{default_permissions,[<<".*">>,<<".*">>,<<".*">>]},
{default_user,<<"guest">>},
{default_user_tags,[administrator]},
{default_vhost,<<"/">>},
{delegate_count,16},
{error_logger,{file,"/usr/local/var/log/rabbitmq/rabbit@Technophiliac.log"}},
{frame_max,131072},
{hipe_compile,false},
{included_applications,[]},
{msg_store_file_size_limit,16777216},
{msg_store_index_module,rabbit_msg_store_ets_index},
{queue_index_max_journal_entries,262144},
{sasl_error_logger,{file,"/usr/local/var/log/rabbitmq/rabbit@Technophiliac-sasl.log"}},
{server_properties,[]},
{ssl_listeners,[]},
{ssl_options,[]},
{tcp_listen_options,
[binary,
{packet,raw},
{reuseaddr,true},
{backlog,128},
{nodelay,true},
{exit_on_close,false}]},
{tcp_listeners,[5672]},
{trace_vhosts,[<<"/">>]},
{vm_memory_high_watermark,0.4}]
3. rabbitmq-env.conf rabbitmq环境参数配置
更详细的配置参见: http://www.rabbitmq.com/configure.html#configuration-file
4. 启动
四. rabbitmq插件管理
启用rabbitmq web管理插件
列出所有插件
- RabbitMQ 内存控制 硬盘控制
- RabbitMQ 内存控制 硬盘控制
- rabbitmq 内存控制
- RabbitMQ 流控制学习
- RabbitMQ消息的传输控制
- RabbitMQ(七)心跳控制 -- heartbeat
- RabbitMQ用户角色及权限控制
- RabbitMQ用户角色及权限控制
- RabbitMQ用户角色及权限控制
- RabbitMQ用户角色及权限控制
- RabbitMQ用户角色及权限控制
- RabbitMQ用户角色及权限控制
- RabbitMQ用户角色及权限控制
- RabbitMQ用户角色及权限控制
- RabbitMQ用户角色及权限控制
- RabbitMQ用户角色及权限控制
- RabbitMQ用户增删及权限控制
- 内存管理器控制
- Android Activity的四大启动模式
- Android 6.0动态申请权限
- 集成百度SDK遇到的bug
- Intellij Idea 2017创建web项目及tomcat部署实战
- 03 DOM DOM事件 全选练习
- RabbitMQ 内存控制 硬盘控制
- 10.9学习心得
- 简单的断点续传
- 分苹果问题分析及程序
- 公司邮箱发送到外域被拒,你的邮箱服务器可能被加入到黑名单
- linux命令——lastlog
- php call_user_func(),call_user_func_array()使用和区别
- 11.10 学习心得
- 官网下载java mysql驱动包(图文)