Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jenkins服务器无法编译,因为无法保留堆空间_Java_Jenkins - Fatal编程技术网

Java Jenkins服务器无法编译,因为无法保留堆空间

Java Jenkins服务器无法编译,因为无法保留堆空间,java,jenkins,Java,Jenkins,我的jenkins服务器有一个大问题:我无法构建maven项目,因为java vm无法启动: Checkout:workspace / /var/lib/jenkins/jobs/SchwarzGoldTool/workspace - hudson.remoting.LocalChannel@b7193fc Using strategy: Default Last Built Revision: Revision c2d18fd7a5d7f112163e9440a8e7256a44e32f46

我的jenkins服务器有一个大问题:我无法构建maven项目,因为java vm无法启动:

Checkout:workspace / /var/lib/jenkins/jobs/SchwarzGoldTool/workspace - hudson.remoting.LocalChannel@b7193fc
Using strategy: Default
Last Built Revision: Revision c2d18fd7a5d7f112163e9440a8e7256a44e32f46 (origin/HEAD, origin/master)
Checkout:workspace / /var/lib/jenkins/jobs/SchwarzGoldTool/workspace - hudson.remoting.LocalChannel@b7193fc
Fetching changes from 1 remote Git repository
Fetching upstream changes from git://.../tsc.git
Seen branch in repository origin/HEAD
Seen branch in repository origin/master
Commencing build of Revision 2b4654302e8222509db5808c9071ec95daf0b495 (origin/HEAD, origin/master)
Checking out Revision 2b4654302e8222509db5808c9071ec95daf0b495 (origin/HEAD, origin/master)
Warning : There are multiple branch changesets here
Parsing POMs
Modules changed, recalculating dependency graph
[SchwarzGoldTool] $ java -Xmx512M -Xms512M -cp /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-agent-1.2.jar:/var/lib/jenkins/tools/Maven_3.0.3/boot/plexus-classworlds-2.4.jar org.jvnet.hudson.maven3.agent.Maven3Main /var/lib/jenkins/tools/Maven_3.0.3 /var/run/jenkins/war/WEB-INF/lib/remoting-2.11.jar /var/lib/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-1.2.jar 58359
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
ERROR: Failed to launch Maven. Exit code = 1
Finished: FAILURE

我试图将-Xmx和-Xms添加到VM中(如您所见),但这也不起作用。。。有人知道那里发生了什么?

问题是由于Jenkins没有预留足够的堆空间来启动maven构建。从您所说的来看,似乎很少有东西与您的VM限制相同(我包括了运行每个进程所需的内存估计)

  • 虚拟机的操作系统(约200~300mb)
  • 詹金斯(最小256mb)
  • 网络容器(约256~512mb)
  • 等(约100mb)
我的内存估计相当保守,但仍然很容易累积到1gb以上,这使得Jenkins可以保留的可用堆少于Xms(512m),因此无法启动构建

理想情况下,您应该将VM上的softlimit增加到更高的值。如果这不可行,我的建议是通过将Jenkins中的作业配置更改为(Xmx512m,Xms128m)来减少构建的内存管理,这样Jenkins就可以启动一个只有128m空闲堆的构建。但是,当构建需要一个低于Xmx但高于可用堆的堆时,此设置可能会在后期导致内存不足错误


或者,您可以管理上面提到的其他进程的内存,或者您可以设置一些配置虚拟机上的虚拟内存

您是否已检查Jenkins是否安装在适当的位置(即与交换文件不在同一分区)或正确的文件夹中。它安装在debian计算机上,因此我使用aptitude安装它。。。交换由openvzHave提供。您是否尝试将xmx或xms增加到2048M?还要确保实际的主机有足够的空间,用于此进程和所有其他可能正在运行的进程。。。此虚拟机具有1,5G RAM软限制,可从主机服务器使用高达16GB的内存。。。但这一过程不可能需要超过1.5G的RAM——它也建立在我的笔记本电脑上……如果虚拟机有1.5G的限制,那么将-Xmx设置为2048M是不可能的。尝试将VM的RAM增加到4G或更多。