Java VM无法为对象堆保留足够的空间

Java VM无法为对象堆保留足够的空间,java,jenkins,jvm-arguments,slave,Java,Jenkins,Jvm Arguments,Slave,我刚刚在windows机器上升级到Jenkins 1.500。我还有一个带有8GB内存的windows从机。我已经与这个从机建立了远程连接,并从Jenkins webinterface(使用JNLP启动按钮)启动了它 它在詹金斯身上表现得很好,我给它分配了一些工作。其中一个作业使用以下vm参数调用java应用程序: -XX:MaxPermSize=512m -Xmx1024m 但作业失败,出现以下错误: Error occurred during initialization of VM Co

我刚刚在windows机器上升级到Jenkins 1.500。我还有一个带有8GB内存的windows从机。我已经与这个从机建立了远程连接,并从Jenkins webinterface(使用JNLP启动按钮)启动了它

它在詹金斯身上表现得很好,我给它分配了一些工作。其中一个作业使用以下vm参数调用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.
如果我在从机上本地运行作业,它可以正常工作。你知道为什么当通过jenkins触发时,windows从机上的构建失败了吗

升级前,从机上的作业运行良好

从机正在运行: java版本“1.6.0_34” Java(TM)SE运行时环境(build 1.6.0_34-b04) Java HotSpot(TM)64位服务器虚拟机(构建20.9-b04,混合模式)

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


导出MAVEN_OPTS=-Xmx1024m

这对于32位windows来说太多了。您只需要1.5GB堆+额外的堆栈/本机连续地址空间。减少perm gen或确保使用64位java。i、 显示java-versionI运行64个windows和java。在我编写时,java应用程序在从机上通过上述设置在本地运行良好。只有当我从Jenkins master启动作业时,我才收到一个错误。请确保运行的java是相同的,即没有安装其他java,该错误强烈建议使用32位java,也可能是其他参数设置错误,如果该错误通过减少permgen/maxheap的值而消失,则很可能是32位java。您是否阅读了我的评论?它在计算机上本地与上述vm args一起运行良好。我卸载了所有java安装,并重新安装了一个64位版本。它现在起作用了,所以你是对的。