Apache ActiveMQ Artemis 2.28.0内存使用报告异常问题咨询
Apache ActiveMQ Artemis 2.28.0 内存计量异常问题
排查Apache ActiveMQ Artemis 2.28.0时,发现其内存使用量报告以及分页触发的内存判断逻辑疑似存在异常(我清楚这个结论较为绝对,更希望是自身理解有误),该问题已在多个环境中复现。
本地复现环境配置
- JVM参数:
-Xms512M -Xmx2G - 全局最大内存(Global Max Size):使用默认配置(系统默认将
-Xmx的一半设为global-max-size)
预期与实际行为偏差
按照默认配置预期,当内存使用达到1G(即-Xmx2G的一半)时,系统应进入分页模式(page mode)。但实际测试中,当Artemis控制台及CLI命令 bin/artemis check node --memoryUsage 50 报告内存使用量为499MB时,异常行为就已触发。
异常表现
异常在生产环境与本地环境存在差异:
- 生产环境:消费者静默停止消费,生产者发送消息时出现挂起
- 本地环境:消费者抛出以下异常后断开连接:
Execution of JMS message listener failed, and no ErrorHandler has been set. javax.jms.JMSException: Cannot send, channel has already failed: tcp://172.18.0.6:61616
两种环境下,Artemis日志均未记录任何错误或异常信息。
结论依据
实际检查Artemis Java进程的内存占用,发现其已占用1.8G内存,远高于控制台及CLI报告的数值。
请问是否有其他开发者遇到过此类行为?我是否遗漏了某些关键配置或细节?
内容的提问来源于stack exchange,提问作者ROMAN
相关产品推荐
相关产品推荐

