在我们的项目中,我们使用两个队列,一个用于正常处理,另一个用于错误。 “错误”队列有时会被“错误”消息填充,这些消息位于那里,直到人检查出来。在某些情况下,“错误”队列会填充大量消息,然后JVM会耗尽堆。
例如,目前,JVM配置了最大4GB堆,并随机获取OOM异常。我们使用了MemoryAnalyzer和IBM Heap Analyzer,两者都指向了Artemis。当我检查文件系统上日志的大小时,大约是5GB。
我们发送:
所以,我的问题是关于Apache Artemis堆管理和建议:
感谢任何帮助!
答案 0 :(得分:0)
对于那些对此主题感兴趣的人,答案是在Artemis论坛上提供的: http://activemq.2283324.n4.nabble.com/How-does-Apache-Artemis-manage-heap-space-RAM-tt4723220.html