【问题标题】:how to allocate Heap and Permgen memory for 4G normally?如何正常为4G分配Heap和Permgen内存?
【发布时间】:2012-10-04 12:36:12
【问题描述】:

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

目前是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

【问题讨论】:

    标签: java heap-memory permgen


    【解决方案1】:

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

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

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

    【讨论】:

    • 请修改。因为java.lang.OutOfMemoryError: Java heap space
    • 根据您的回答,我必须在 JBoss appclient.conf 中进行配置,因为在 JBoss AS 上部署应用程序时出现错误。 thz,我会试试的。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-12-23
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 2013-03-28
      • 2015-09-21
      • 2019-02-01
      • 1970-01-01
      • 2012-06-13
      相关资源
      最近更新 更多