我们在Glassfish 2.1.1中部署war文件时出现错误(OutOfMemory)。这与domain.xml文件中的内存选项有关。
我们将-Xmx
和-Xms
jvm-options设置增加到1024而不是默认值512,如下所示:
<jvm-options>-Xms=1024m</jvm-options>
<jvm-options>-Xmx=1024m</jvm-options>
<jvm-options>-XX:MaxPermSize=256m</jvm-options>
<jvm-options>-server</jvm-options>
<jvm-options>-D64</jvm-options>
我们使用的命令:
asadmin deploy --user admin --passwordfile
<passwd-file>
--host localhost --port 4848<warfile>
我们在server.log中得到的错误:
[#| 2011-03-15T09:40:56.750 + 0100 |严重|太阳appserver2.1 | javax.enterprise.system.tools.deployment | _ThreadID = 15; _ThreadName =线程40; _RequestID = 16902980- 9800-488e-82b5-0104cd18e57c; | J2EEC Phasejava.lang.OutOfMemoryError中发生异常: com.sun.enterprise.deployment.backend.IASDeploymentException:加载模块的部署描述符时出错......
当我们将jvm-options更改回原始值(512m)时,错误就解决了。任何线索为什么会发生这种情况?这些设置是否有最大值?
系统信息
Java版本:Java HotSpot(TM)服务器VM(16.3-b01-jre1.6.0.07-rc1)
操作系统:HP-UX Itanium 64位
答案 0 :(得分:0)
您使用的是64位设置,但总体上无法使用64位功能,这意味着您的内存使用率不足。我发现有趣的帖子:http://www.java.net/node/704100
这个提示可以提供帮助吗?如果您通过此链接获得了一些新想法,请勾选我的答案:)