【问题标题】:VM Could not reserve enough space for object heapVM 无法为对象堆保留足够的空间
【发布时间】:2013-01-17 05:44:41
【问题描述】:

我刚刚在 Windows 机器上升级到 Jenkins 1.500。我还有一个 8GB RAM 的 windows slave。我已经远程连接到这个从站,并从 Jenkins 网络界面启动它(使用 JNLP 启动按钮)。

它在 Jenkins 上显示得很好,我已经为它分配了一些工作。其中一项作业使用以下 vm args 调用 java 应用程序:

-XX:MaxPermSize=512m -Xmx1024m

但作业失败并出现以下错误:

Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.

如果我在从属设备上本地运行作业,它工作正常。任何想法为什么在通过詹金斯触发时构建在 windows slave 上失败?

在升级之前,该作业在从属设备上运行良好。

slave 正在运行: java版本“1.6.0_34” Java(TM) SE 运行时环境 (build 1.6.0_34-b04) Java HotSpot(TM) 64 位服务器 VM(内部版本 20.9-b04,混合模式)

【问题讨论】:

  • 这对于 32 位 Windows 来说太过分了。您只需要 1.5GB 堆 + 额外的堆栈/本机连续地址空间。减少 perm gen 或确保您拥有 64 位 java。即显示 java -version
  • 我正在运行 64 个 windows 和 java。正如我所写的那样,Java 应用程序在具有上述设置的从属设备上本地运行良好。只有当我从 Jenkins master 开始工作时,我才会收到错误。
  • 确保运行的java是一样的,即没有安装其他java,这个错误非常强烈提示32bit java,也可能是其他一些参数设置错误,如果错误消失通过减小值permgen/maxheap 它很可能是 32 位 java
  • 你读过我的评论吗 - 它在机器上本地运行上述 vm 参数。
  • 我卸载了所有 java 安装并重新安装了一个 64 位版本。它现在有效,所以你是对的。

标签: java jenkins jvm-arguments slave


【解决方案1】:

解决方法是: 在您的 maven 安装中修改 mvn 文件并添加以下内容:

导出 MAVEN_OPTS=-Xmx1024m

【讨论】:

    猜你喜欢
    • 2014-02-28
    • 1970-01-01
    • 1970-01-01
    • 2017-05-04
    • 2013-11-04
    • 2023-03-18
    • 2020-11-26
    • 2015-07-14
    相关资源
    最近更新 更多