【问题标题】:Eclipse intermittently fails to create the Java Virtual MachineEclipse 间歇性地无法创建 Java 虚拟机
【发布时间】:2012-09-13 10:16:16
【问题描述】:

我使用的是 Windows 7 32 位操作系统。我正在使用 Eclipse 3.7 (Indigo) 32 位。我安装了 jdk1.7.0_07 32 位。有时当我以管理员身份运行 Eclipse 时,会收到以下错误消息,

当我点击“确定”时,我收到以下错误消息,

有时我会收到this 错误消息。在其他时候,Eclipse 会启动,但是当 Gradle 在尝试启动其守护进程时初始化其 VM 时会失败。

发生了什么事?我意识到这是一个内存问题,但为什么我能够偶尔启动 Eclipse 并运行一切正常?而在其他时候,为什么我可以启动 Eclipse 但无法运行任何东西,或者根本无法启动 Eclipse?

作为开发人员,这种行为令人讨厌。

【问题讨论】:

  • 您是否修改了 eclipse.ini 文件?也许这只是您正在使用的版本,但我不记得我的其中包含所有这些设置。我会在你的 workspace\.metadata\ 文件夹中检查 eclipse 的错误日志。它可能有更多关于失败时发生的事情的信息。
  • 我确实修改了 eclipse.ini 文件以增加内存并指向 1.7 JVM。我会确保检查错误日志并报告,谢谢!
  • 你的路径是什么样的?您是否安装了 32 位和 64 位 Java/
  • @RNJ,我只安装了 32 位 Java。
  • 您运行的是 Citrix 还是类似的东西?我知道其中一些 DLL 会进入 Windows 内存空间并将其切碎,以防止需要大块(例如 1GB)的程序运行,而您会得到这个确切的错误。唯一的办法是降低你的 mx 数量(不幸的是)。

标签: java eclipse windows-7 jvm heap-memory


【解决方案1】:

试试-Xmx900m。问题可能出在 eclipse.ini 文件上。

【讨论】:

  • 感谢您的建议,但目前我的设置为Xmx1024m。为什么会降低最大值。记忆有用吗?顺便说一句,我有 4GB 的 RAM。
  • 看起来好像从 1024m 降低 Xmx 似乎使 Eclipse 能够持续启动,尽管我仍然遇到 Gradle 守护程序的问题,但我会将其视为单独的完全是个问题。
  • 我将此标记为答案,因为我需要降低最大请求内存。我最终将我的降级为512m,但这可能会因系统而异。
【解决方案2】:

我在 JDK7 中遇到过这个问题。我发现如果 Eclipse 在 Java 6 下运行,我会做得更好,然后添加 JDK7 作为项目的运行时环境。

【讨论】:

  • 你知道,我就是这么做的,但是当我运行我的 gradle 构建脚本时,它抱怨源兼容性错误,因为我将它设置为 1.7
  • 你是在 Eclipse 中运行你的 gradle 脚本吗?如果是这样,您可能必须更改插件设置以将 JAVA_HOME 重新指向您的 1.7 jdk,或者只需在 gradle 插件设置中选择正确的运行时(我目前不使用 gradle,所以我不确定 optiosn 是什么可用)。
【解决方案3】:

确保您的 Eclipse 按位匹配您的 jre/jdk。如果你使用的是32位的eclipse,则必须使用32位的jdk。

您的 -vm 参数错误。 arg 必须像这样在下一行开始:

-vm
c:\Program Files\java...等

当 JVM(Sun 的 JVM)启动时,它会将堆分配为单个 malloc,即单个连续的内存块。如果出于某种原因,那么多连续内存不可用,那么 JVM 将不会启动。如果不调试您的机器,就很难知道是什么阻止了一个大的 malloc。请注意,最近一些病毒一直在 jvm 内躲藏。

【讨论】:

  • -vm arg 和 value 位于文件中的分隔行上...它仅在错误对话框中显示为一行。是的,我正在考虑检查我的 jvm 的完整性......可能已被泄露。
【解决方案4】:

您说您的操作系统是 32 位操作系统,您的 Eclipse 是 32 位兼容的还是 64 位(如果它是 64 位)删除 Eclipse 中的 java 相关文件夹并将其替换为 64 位 java sdk 这将起作用我得到了这个问题,我用这种方式解决了。

【讨论】:

  • Eclipse 和 Java JDK 都是 32 位的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-10
  • 2018-02-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多