Jakarta ee java.lang.OutOfMemoryError:Jboss 7.1.1中部署时的java堆空间

Jakarta ee java.lang.OutOfMemoryError:Jboss 7.1.1中部署时的java堆空间,jakarta-ee,jboss,Jakarta Ee,Jboss,我试图创建一个小实用程序,它可以读取excel。我使用ApachePOI 3.9库来实现这一点。当我从red hat Jboss执行代码时,它运行良好 但是当我在Jboss 7.1.1 Final服务器中部署.war并执行时,我得到了这个错误 ERROR [stderr] (thread-64) Exception in thread "Thread-64" Exception in thread "server-timer1" java.lang.OutOfMemoryError: Java

我试图创建一个小实用程序,它可以读取excel。我使用ApachePOI 3.9库来实现这一点。当我从red hat Jboss执行代码时,它运行良好

但是当我在Jboss 7.1.1 Final服务器中部署.war并执行时,我得到了这个错误

ERROR [stderr] (thread-64) Exception in thread "Thread-64" Exception in thread "server-timer1" java.lang.OutOfMemoryError: Java heap space

请检查JVM内存分配池参数。如果您在独立模式下运行,您可以在JBOSS_HOME/bin/standalone.conf.bat中找到它

尝试将其设置为
“JAVA_OPTS=-Xms1G-Xmx1G-XX:MaxPermSize=256M”
并重新启动服务器,此设置作为JBoss EAP6.2的默认设置

此外,如果这没有帮助,您可以使用Eclipse内存分析器分析堆第一步: 确保Redhat JBoss和JBoss 7.1.1中的JVM内存设置相同。可能是Redhat JBoss的内存分配比JBoss 7.1.1高。您可能需要提高jboss 7.1.1内存设置,如@amitsalyan所述

第二步: 如果服务器因Outofmemory错误而崩溃,请将JBoss 7.1.1配置为在产后使用

第三步: 如果服务器再次因outofmemory出现故障,则可能是库或代码导致内存泄漏。使用EclipseMat工具查找内存问题并修复它们