ActiveMQ内存消耗

时间:2018-10-31 08:15:44

标签: memory jvm jms activemq

我对ActiveMQ内存使用有一些疑问... 首先,让我解释一下发生了什么。

我有一些队列(超过10个),每天需要处理数千条消息。 为每个队列启用选项“流生产者控件” 。 我所有的消息都是*永久*消息。

在生产环境中的一天,当我的队列从生产者那里获取更多消息时,我的消费者不再使用消息。

我试图重新启动我的使用者:没有效果。 重新启动 ActiveMQ :无效。

我注意到“已用内存百分比”的值超过100 (大约为160)。 然后,我为我的VM和经纪人分配了更多的内存:它起作用了,我的使用者又在消耗。

我的问题如下:

1 /据我了解, ActiveMQ 使用的内存与在推送到使用者之前保存在内存中的邮件数量有关。那正确吗 ?如果没有,如何管理?

2 /例如,如果我在用户端将预取大小设置为100, 所以最多100条消息将在队列一侧的内存中?如果没有,怎么办 它管理?

3 /如何获得“已用内存百分比:160”?我阅读的文档 关于这一点并没有真正帮助我...而且它似乎没有与Java Heap内存链接(当我使用Jconsole进行查看时,当JHM减小时,“内存百分比使用率”并没有)。 是因为,例如,如果我有10个队列,则每个队列需要160MB 内存,而我的JVM只有1GB?

4 /如果我在policyEntry元素上将“ memoryLimit”属性设置为 队列,我想队列消耗的内存不会比我多 已经设置。 如果大于memoryLimit的消息进入队列怎么办?

0 个答案:

没有答案