【问题标题】:ActiveMQ command:Cannot allocate memoryActiveMQ 命令:无法分配内存
【发布时间】:2026-01-24 15:55:01
【问题描述】:

ActiveMQ 5.13.3 服务器运行正常。

但是当我执行activemq list命令时,出现了错误。

Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release  
Java HotSpot(TM) 64-Bit Server VM warning: INFO:os::commit_memory(0x0000000654cc0000, 3946053632, 0) failed; error='Cannot allocate memory' (errno=12)

我的问题与here 有点不同。 我想知道为什么执行activemq list命令会报这个错误。

【问题讨论】:

标签: jvm activemq


【解决方案1】:

所以原因是activemq list 启动了一个新的JVM,然后连接到代理。该消息告诉您您的机器没有足够的内存来启动第二个 JVM。要么添加交换,要么向系统添加内存。

另外,apache-activemq-5.15.9/bin/env 包含 JVM 的 Xms 设置。这是过去(JDK 1.5 天)人们盲目应用的一个糟糕的“JVM 调优建议”。我会完全删除 Xms 设置,并让 JVM 根据需要调整它的堆大小。

【讨论】: