【Linux】修改ActiveMQ内存大小

admin / Linux / / 280 字 · 约 2 分钟 / 456 次阅读 /

一、调整 ActiveMQ JVM 内存参数

在业务消息量过大时,ActiveMQ 可能因 JVM 默认堆内存不足抛出 java.lang.OutOfMemoryError

可以通过调整启动环境变量脚本扩大内存限制:

  1. 编辑配置文件: bash vim /opt/tools/activemq/bin/env
  2. 找到或添加 ACTIVEMQ_OPTS_MEMORY 配置项: bash ACTIVEMQ_OPTS_MEMORY="-Xms256M -Xmx2G"
  3. 重启 ActiveMQ 服务使新参数生效: bash /opt/tools/activemq/bin/activemq restart

二、使用 jmap 排查 Java 内存状态

jmap 是 JDK 自带的内存诊断利器,可用于排查 JVM 堆内存占用与排查内存泄漏。

1. 查看堆内存分布情况(Heap Summary)

# 查看新生代(Eden/Survivor)、老年代及元空间的分配与使用率
jmap -heap <PID>

2. 输出对象统计直方图(Histogram)

# 统计堆中所有类别的实例数量与占用字节大小
jmap -histo <PID>

# 仅统计存活对象(会自动触发一次 Full GC)
jmap -histo:live <PID>
admin

admin

云原生架构 · 全栈开发

感谢阅读本文!记录系统架构思考与实战复盘。专注于 Python、Django、PostgreSQL 与云原生容器化工程实践。