在jboss 4.2上运行Web服务应用程序时,我正面临“Out of Memory Error Exception” 我怎样才能增加jboss的内存?这会解决问题吗?
答案 0 :(得分:3)
首先应确认内存使用情况是否异常。如果不是,则增加内存分配可能是个好主意。 JBoss默认内存分配在默认设置下相当小。
你想确认内存短缺是堆短缺(如果它是permgen,可能是permgen等,请参考一般的OOME(OutOfMemoryError)问题)。如果您使用的是Java 1.6,则只需阅读异常消息即可确定。
一旦确认是堆短缺,建议在进行更大的堆大小之前确认没有发生内存泄漏。为此,您可以附加像visualVM这样的堆监视器并监视压力下的堆使用情况(有关更多信息,请参阅:http://olex.openlogic.com/wazi/2009/how-to-fix-memory-leaks-in-java/)。
完成此操作后,如果确定存在合法的堆短缺,则可以编辑run.conf
(Linux)或run.bat
(Windows)以分配更多堆。您可以搜索JAVA_OPTS并将-Xmx512m
更改为-Xmx1024m
。
答案 1 :(得分:0)
你可以增加JBoss的内存,但一定要找出为什么它会使用比预期更多的内存,以确保问题不会再次出现在你身上。
在试验期间启动JBoss之前在shell中设置它:
JAVA_OPTS="-Xms512m -Xmx1024m"