gpt4 book ai didi

java - Weblogic FileStore 中的 OutOfMemoryError

转载 作者:行者123 更新时间:2023-11-30 07:10:38 25 4
gpt4 key购买 nike

我试图将我的应用程序加载到 Weblogic11g 中,并且我在队列中向它发送许多 JMS 消息。

但是,FileStore 在大约 20K 条消息和最大大小为 647,169 ko 时出现 OOE 崩溃

Exception in thread "Thread-13" java.lang.OutOfMemoryError: Java heap space
at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:39)
at java.nio.ByteBuffer.allocate(ByteBuffer.java:312)
at weblogic.store.io.file.StoreFile.expand(StoreFile.java:324)
at weblogic.store.io.file.Heap.reserveSpace(Heap.java:305)
at weblogic.store.io.file.Heap.multiWrite(Heap.java:438)
at weblogic.store.io.file.FileStoreIO.flush(FileStoreIO.java:497)
at weblogic.store.internal.PersistentStoreImpl.run(PersistentStoreImpl.java:638)
at weblogic.store.internal.PersistentStoreImpl$2.run(PersistentStoreImpl.java:383)

还有几行日志文件

Feb 25, 2014 7:53:19 PM CET Warning JTA BEA-110484 The JTA health state has changed from HEALTH_OK to HEALTH_WARN with reason codes: Resource WLStore_MyFS_stores-Node1-file-jms declared unhealthy.

Feb 25, 2014 7:53:19 PM CET Warning JTA BEA-110030 XA resource [WLStore_MyFS_stores-Node1-file-jms] has not responded in the last 120 second(s).

Feb 25, 2014 7:53:19 PM CET Warning JTA BEA-110405 Resource WLStore_MyFS_stores-Node1-file-jms was not assigned to any of these servers: Node1

Feb 25, 2014 7:54:19 PM CET Warning JTA BEA-110486 Transaction BEA1-5DA4B1F8A57C83AEDB1B cannot complete commit processing because resource [WLStore_MyFS_stores-Node1-file-jms] is unavailable. The transaction will be abandoned after 3,420 seconds unless all resources acknowledge the commit decision.

是否可以增加此 FileStore 的大小?

最佳答案

当向 WLS 发送消息时,它会将消息 + header 保存在内存中,直到消息被使用。如果您的消息生成速度快于消息消费速度,那么您最终会遇到 OOM。

您可以采取一些措施来避免 OOM

1) 确保您有足够多的消息使用者,并且他们能够快速使用消息。

2) 默认情况下,有一个 JMS 分页功能,当 JMS 消息的内存消耗约为整个堆的 1/3 时,该功能会被触发。如果需要,您可以调整服务器以更早地触发分页。分页的作用是,将每条消息的头部分留在内存中,正文移动到分页文件中,从而释放一些内存。对于简单的计算,仅 JMS header 会消耗大约 1k 的内存。- 注意待处理的消息将在内存中同时包含标题和正文。

3) 当然,增加托管 JMS 服务器的托管服务器的 JVM 大小将直接使您能够在内存中保留更多消息。

关于java - Weblogic FileStore 中的 OutOfMemoryError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22026736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com