RabbitMQ内存消耗

0cool

RabbitMQ提供rabbitmqctl status命令用来查看rabbitmq消耗内存的情况,这是在本机上执行的结果:

[{pid,11911},{running_applications,[{rabbitmq_management_visualiser,"RabbitMQ Visualiser","3.3.5"},{rabbitmq_tracing,"RabbitMQ message logging / tracing","3.3.5"},{rabbitmq_management,"RabbitMQ Management Console","3.3.5"},{rabbitmq_management_agent,"RabbitMQ Management Agent","3.3.5"},{rabbit,"RabbitMQ","3.3.5"},{os_mon,"CPO  CXC 138 46","2.2.7"},{rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.3.5"},{webmachine,"webmachine","1.10.3-rmq3.3.5-gite9359c7"},{mochiweb,"MochiMedia Web Server","2.7.0-rmq3.3.5-git680dba8"},{amqp_client,"RabbitMQ AMQP Client","3.3.5"},{xmerl,"XML parser","1.2.10"},{inets,"INETS  CXC 138 49","5.7.1"},{mnesia,"MNESIA  CXC 138 12","4.5"},{sasl,"SASL  CXC 138 11","2.1.10"},{stdlib,"ERTS  CXC 138 10","1.17.5"},{kernel,"ERTS  CXC 138 10","2.14.5"}]},{os,{unix,linux}},{erlang_version,"Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:30] [kernel-poll:true]\n"},{memory,[{total,67385688},{connection_procs,5408},{queue_procs,5408},{plugins,611776},{other_proc,9372568},{mnesia,64360},{mgmt_db,50248},{msg_index,34160},{other_ets,1131704},{binary,33200},{code,17757687},{atom,1619705},{other_system,36699464}]},{alarms,[]},{listeners,[{clustering,25672,"::"},{amqp,5672,"0.0.0.0"}]},{vm_memory_high_watermark,0.8},{vm_memory_limit,1573470208},{disk_free_limit,1000000000},{disk_free,10575826944},{file_descriptors,[{total_limit,65435},{total_used,3},{sockets_limit,58889},{sockets_used,1}]},{processes,[{limit,1048576},{used,187}]},{run_queue,0},{uptime,526}]

执行结果中memory部分就是当前内存的消耗情况,可以清楚地了解到总的内存消耗以及分布情况,主要细分成了以下几个类别:

连接

这部分主要包含了连接和通道(channel)所消耗的内存,也包含了SSL系统所使用的内存。

队列

队列占用的内存指的是队列进程消耗的,并不包含消息体(在二进制中)。当内存不足时,这部分的内存将交换到磁盘上。

插件

插件使用的内存不包含连接rabbit服务器的Erlang客户端和数据库所占用的部分,通常包含像一些协议插件如STOMP和MQTT。

其它进程内存

除了上面所提到的以外的进程所消耗的部分,这里的进程是erlang虚拟机中的概念,最近被GC回收的内存会展现在这里。

Mnesia

Mnesia保存了一份磁盘上的数据拷贝到内存,意味着当有大量队列、交换机、绑定、用户信息或虚拟主机时会消耗大量的内存。

message store索引

保存了所有消息的索引,包括那些被交换到磁盘上的消息。

管理数据库

前提是启用了管理插件,在集群中它只会出现在一个节点中。

其它ETS表

除了上面三个集合以外的内存表。

二进制

erlang虚拟机所使用的共享二进制数据,消息体的内存消耗包含在这部分。

代码

代码所消耗的内存,一般为常量。

Atoms

atoms消耗的内存,一般为常量。

其它系统内存

Erlang所消耗的其他内存,比如可用文件描述符的统计。

RabbitMQ内存消耗相关推荐

  1. c++ 进程快照_如何在 Linux 中找出内存消耗最大的进程

    很多次,你可能遇见过系统消耗了过多的内存.如果是这种情况,那么最好的办法是识别出 Linux 机器上消耗过多内存的进程. -- Magesh Maruthamuthu(作者) 很多次,你可能遇见过系统 ...

  2. 一行代码搞定 Python 逐行内存消耗分析

    作者 | 费弗里 来源 | Python大数据分析 我们即将学习的是:一行代码分析Python代码行级别内存消耗. 很多情况下,我们需要对已经写好的Python程序的内存消耗进行优化,但是一段代码在运 ...

  3. items属性的combo_【内存消耗问题】DataGridViewComboboxColoumn关于Items属性和DataSource属性的性能开销问题...

    [问题场景]:新建窗体应用程序,Form中添加1个DataGridView控件,并新增1列数据(列类型为DataGridViewComboboxColoumn).下拉列表绑定15000条选项值,表格添 ...

  4. Docker中的Java内存消耗优化以及我们如何使用Spring Boot

    ---- / BEGIN/ ---- 如果您的Docker容器占用太多内存而无法达到最佳性能,请阅读下文以了解一个团队如何找到解决方案. 最近,我所在的团队在部署我们的微服务(AWS上Docker中的 ...

  5. mariadb 10.1查看per connection内存消耗

    在mariadb 10.1版本中,在information_schema.processlist表中,新增了几个字段,其中有一个memory_used,其记录的是连接的内存消耗. 同时新增了一个状态变 ...

  6. 高cpu_实用脚本:检查高 CPU / 内存消耗进程 | Linux 中国

    本教程中包含两个脚本,它们可以帮助你确定 Linux 上高 CPU/内存消耗进程的运行时间. • 来源:linux.cn • 作者:Magesh Maruthamuthu • 译者:geekpi • ...

  7. Redis的内存消耗

    内存使用统计 # Server redis_version:3.0.7 # Memory used_memory:7270580648 - used_memory: Total number of b ...

  8. 「android」查看应用占用cpu和内存消耗情况

    查看CPU 消耗 1.进入adb shell 2.输入top -m 10 -s cpu 可查看占用cpu最高的前10个程序(-t 显示进程名称,-s 按指定行排序,-n 在退出前刷新几次,-d 刷新间 ...

  9. 一行代码搞定Python逐行内存消耗分析

    ❝ 本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills ❞ 我们即将学习的是:一行代码分析Pytho ...

最新文章

  1. nginx优化 突破十万并发
  2. iOS项目工程及目录结构
  3. java中高级大公司多线程面试题
  4. OS / Linux / 伙伴(buddy)算法
  5. 快排算法的Java实现
  6. poj2431 Expedition
  7. oracle merge 效率慢,更新语句的效率比较(merge into )
  8. LeetCode 3sum 问题
  9. ArcGIS——vs2015安装arcgis engine不兼容
  10. 团队建立伊始的混沌状态(Thinking in CTO)
  11. 我大ps可以N倍长腿
  12. 普渡大学计算机图形,普渡大学西拉法叶校区之计算机图形技术系
  13. 毕业设计 : 题目:基于深度学习的水果识别 设计 开题 技术
  14. 浏览器如何工作~(转)
  15. 深入浅出Stream和parallelStream
  16. 要善于借势破局——宁向东的清华管理学课第4课
  17. 通证网:一建的报考条件
  18. 计算机国际会议口头报告范例,国际会议口头报告ppt演讲内容准备模板
  19. 定位自主高端,2019款奔驰C级诠释优雅与豪华的气息
  20. 博弈论(1)例题:纳什均衡 (投票还是不投票/合资问题/n 个企业的古诺模型)博弈论导论 Steven Tadelis - Game Theory. An Introduction

热门文章

  1. 上士闻道,勤而行之,但是却得不到外界的认可, 怎么说?
  2. 要不要借钱给朋友和投资股票的共性
  3. Android大厂面试题系统分类从基础到困难(BATJ,蚂蚁金服,字节跳动,网易云,QQ音乐...)
  4. AI初探——百度、阿里、腾讯开放平台OCR功能解析
  5. GitHub Education Tools (学生包)申请教程 Digital Ocean 50美元优惠码使用教程
  6. Hermite Polynomials(厄米多项式)
  7. 记一次亲身经历的高速三车追尾及处理全流程
  8. Gitee码云remote: error: File: , exceeds 100.00 MB 踩坑指南
  9. 糗事百科网站服务器,糗事百科神仙道官网
  10. springboot的Sort排序时遇到的问题 has private access in ‘org.springframework.data.domain.Sort‘