1

我有 4G 内存(64 位)。目前,我在 Eclipse IDE(JUNO) 中使用默认内存设置。当我在上面部署应用程序时JBoss 7.1出现Out Of Memory错误。我想知道memory ratio和?比方说,如果我将堆内存设置为 1G 内存,那么 permgen 内存将为 512M,仅举个例子。如果是这样,permgen 将是堆内存的 50%。你能为他们提供内存分配的方式吗?heap memorypermgen memory

目前eclipse.ini

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20120522-1813
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-Xms128m
-Xmx1024m

原因 :

    Caused by: java.lang.OutOfMemoryError: Java heap space
4

2 回答 2

2

这取决于您看到的典型内存使用情况。当您收到内存不足错误时,它应该说明它是用于 perm gen 还是 heap space;相应地调整。

编辑:如果说您的堆空间不足,那么您要增加 Xmx1024m。也许试试 Xmx2g。

我还假设您看到 OutOfMemoryError 是 Eclipse?如果它实际上是针对 JBoss 的,那么 eclipse.ini 将无济于事,因为当您部署到 JBoss 时,它将是一个不同的 VM。在这种情况下,您需要增加 $JBOSS_HOME/bin/appclient.conf 中的 Xmx 值

于 2012-10-14T08:00:35.423 回答
1

我想知道堆内存和永久内存的内存比例?

没有固定的比例。堆内存和永久内存大小是独立指定的,使用不同的参数。

我的建议是不要使用 permgen 设置……除非 OOME 消息告诉您 permgen 内存已用完。

于 2012-10-14T08:15:08.407 回答