【问题标题】:Out Of Memory Error even Heap Memory is not Completely Use内存不足错误,即使堆内存没有完全使用
【发布时间】:2019-02-12 13:55:10
【问题描述】:

我面对

java堆空间内存不足错误

我正在使用 glassfish 服务器来部署基于 maven 的应用程序,Java JDK 是 1.7。 我已经将我的 glassfish 服务器 domain.xml 配置为 MaxPermSize 是 512M 而 Xmx 是 1024M ,如快照 1 中所述,我很困惑,因为我的 glassfish 没有像它所拥有的那样使用完整的 1GB 堆大小,它只消耗了最大堆 300m 但它通过上面的错误和弯腰的一切。 我该如何解决这个问题?它每天发生两次。

【问题讨论】:

  • 你可能有内存泄漏,例如不关闭打开的资源,如文件
  • 第二张图显示它只有 300mb 的堆。仔细检查它是否真的在使用您的配置或覆盖它。
  • @WesleyDeKeirsmaeker,它在其 JVM 参数中显示 Xmx:1024。

标签: java jvm glassfish heap-memory glassfish-4


【解决方案1】:

-XX:NewRatio=2 表示:

old generation size : young generation size = 2:1

所以年轻代的大小是 1024/3 = 341M。 这意味着:

Eden size + 2*Survivor = 341M

伊甸园大小约为300M。

您应该将 Xmx 设置得更大。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-10
    • 2013-07-06
    • 2011-09-16
    • 2015-02-10
    • 1970-01-01
    • 2020-08-07
    • 2014-01-04
    相关资源
    最近更新 更多