【问题标题】:JDeveloper Heap Out of MemoryJDeveloper 堆内存不足
【发布时间】:2013-08-09 11:30:12
【问题描述】:

当我在 JDeveloper 中打开特定项目时出现以下错误

Uncaught exception
java.lang.OutOfMemoryError: Java heap space
  j.util.Arrays.copyOf(Arrays.java:2882)
  j.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
  j.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)
  j.lang.StringBuffer.append(StringBuffer.java:224)
  org.tmatesoft.svn.core.SVNErrorMessage.getFullMessage(SVNErrorMessage.java:257)
  org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:58)
  org.tmatesoft.svn.core.internal.wc.admin.SVNAdminAreaFactory.open(SVNAdminAreaFactory.java:163)
  org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.doOpen(SVNWCAccess.java:364)
  org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.open(SVNWCAccess.java:272)
  org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.open(SVNWCAccess.java:265)
  org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.openAnchor(SVNWCAccess.java:145)
  org.tmatesoft.svn.core.wc.SVNStatusClient.doStatus(SVNStatusClient.java:320)
  org.tmatesoft.svn.core.javahl.SVNClientImpl.status(SVNClientImpl.java:296)
  org.tmatesoft.svn.core.javahl.SVNClientImpl.status(SVNClientImpl.java:278)
  org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.getStatus(AbstractJhlClientAdapter.java:480)
  org.tigris.subversion.svnclientadapter.svnkit.SvnKitClientAdapter.getStatus(SvnKitClientAdapter.java:141)
  org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.getStatus(AbstractJhlClientAdapter.java:466)
  o.ji.vcs.svn.SVNURLInfoCacheSimpleStrategy.getURLInfo(SVNURLInfoCacheSimpleStrategy.java:79)
  o.ji.vcs.svn.SVNURLInfoCache.getLastChangedRevision(SVNURLInfoCache.java:69)
  o.ji.vcs.svn.SVNOverlayProducer.createTooltip(SVNOverlayProducer.java:240)
  o.ji.vcs.svn.SVNOverlayProducer.getDecoratedOverlay(SVNOverlayProducer.java:144)
  o.ji.vcs.svn.SVNOverlayProducer.produceOverlay(SVNOverlayProducer.java:113)
  o.j.vcs.spi.VCSOverlayItemProducer.produceOverlays(VCSOverlayItemProducer.java:83)
  o.j.vcs.spi.VCSOverlayItemProducer.getOverlayItems(VCSOverlayItemProducer.java:65)
  o.j.vcs.spi.VCSNodeOverlayTracker.getOverlays(VCSNodeOverlayTracker.java:288)
  o.i.explorer.IconOverlayTracker.processPendingNodes(IconOverlayTracker.java:574)
  o.i.explorer.IconOverlayTracker.access$1400(IconOverlayTracker.java:69)
  o.i.explorer.IconOverlayTracker$7.run(IconOverlayTracker.java:487)
  j.util.TimerThread.mainLoop(Timer.java:512)
  j.util.TimerThread.run(Timer.java:462)

我已更新 jdev.conf 文件以包含以下内容,但仍然收到错误:

AddVMOption  -XX:MaxPermSize=512M
AddVMOption -Xmx512M
AddVMOption -Xms512M

此外,这个项目在同事的计算机上打开得很好,没有问题,其中 jdev.conf 文件 -XX:MaxPermSize=512M 开关设置为 256M,而其他 2 个开关不存在。

我整个下午都在玩不同的设置,试图发现不同之处,但我被难住了。有什么我想念的吗?当我尝试将设置提高到更高的内存限制时,JDeveloper 无法启动 Java 机器(我怀疑这与分配给 Java 本身的内存有关),尽管这不是必需的,因为该应用程序在我同事的计算机上运行良好一半的内存分配给了 JDeveloper。

【问题讨论】:

  • j.lang.AbstractStringBuilder.expandCapacity 似乎 stringbuilder 占用了太多内存,你确定你用完全相同的设置在你的同事电脑上测试过它吗?
  • 好吧,我想我做到了——我得再看看。感谢您的指导。

标签: java heap-memory jdeveloper


【解决方案1】:

我遇到了同样的问题,通过下面的链接解决了:

Fixing java.lang.OutOfMemory Java Heap Space error in JDeveloper

除了更改配置文件(jdev.conf 和 ide.conf)以具有命令

JDEV.CONF

AddVMOption -XX:MaxPermSize=256M

IDE.CONF

添加VMOption -Xmx768M 添加VMOption -Xms256M

另请参阅此链接: Jdeveloper throwing Out of Heap Space error with SVN

此外,停止 Jdeverlper 的版本控制选项如下: 在 JDeveloper -> 选择版本控制菜单 -> 选择配置 -> 取消选中“版本支持 Subversion”

您可以使用一些独立的 SVN 客户端,例如 TortoiseSVN 版本控制

【讨论】:

  • 只使用tortoisesvn并禁用版本控制是最好的方法
【解决方案2】:

呃。简单,非常明显的解决方案,我们只是以某种方式忽略了。他正在运行旧版本的 JDeveloper。安装了那个版本,一切正常。

【讨论】:

  • 您运行的是哪个版本的 JDeveloper,您又切换回了哪个版本?
  • 正在运行 11.1.1.3 - 切换回 10.1.3.5。
  • 这不是您问题的解决方案。这只是一种解决方法。 :/我故意切换到较新的版本。那么现在呢?!
  • @CodeNewbie 不 - 这是我的问题的解决方案。我使用了错误版本的 JDeveloper。使用正确的版本解决了我的问题。 JDeveloper 应该提供更新项目文件格式的选项。我无法解释为什么在我的情况下它没有这样做。
猜你喜欢
  • 2013-09-10
  • 2021-07-05
  • 2018-02-10
  • 2017-09-09
  • 1970-01-01
  • 2014-08-02
  • 2016-09-15
相关资源
最近更新 更多