如何给詹金斯更多的堆空间时,它开始作为一个 Windows 下的服务?

我想增加 Jenkins 的可用堆空间。但由于它是作为一种服务安装的,我不知道如何做到这一点。

227768 次浏览

在 Jenkins 安装目录中有一个 Jenkins.xml,您可以在其中设置各种选项。 将参数 -Xmx 添加到您想要的 size 中(如果已经存在,则增加大小)。

来自 Jenkins 维基百科:

其中的 JVM 启动参数 Windows 服务由 XML 文件 jenkins.XML 和 分别是 jenkins-Slave.xml 文件可以在 $JENKINS _ HOME 中找到 并且在从根目录中 分别在您安装 视窗服务。

文件格式应为 不言自明,调整论据 例如,给 JVM 一个更大的 记忆。

Https://wiki.jenkins-ci.org/display/jenkins/installing+jenkins+as+a+windows+service

您需要修改 Jenkins.xml文件

   <arguments>-Xrs -Xmx256m
-Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle
-jar "%BASE%\jenkins.war" --httpPort=8080</arguments>

    <arguments>-Xrs -Xmx2048m -XX:MaxPermSize=512m
-Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle
-jar "%BASE%\jenkins.war" --httpPort=8080</arguments>

您还可以通过 管好詹金斯/管理插件安装 詹金斯监视器插件,然后导航到 管理 Jenkins/哈德逊监视器/詹金斯大师,使用监视来确定有多少内存可用于 Jenkins,从而验证 Jenkins 正在使用的 Java 选项。

如果 Jenkins 调用 MAVEN 时出现了内存不足的错误,可能需要通过 管好詹金斯/配置系统设置 MAVEN _ OPTS,例如,如果你运行的是 JDK 1.8之前的 Java 版本(值是建议值) :

-Xmx2048m  -XX:MaxPermSize=512m

如果您正在使用 JDK 1.8:

-Xmx2048m

如果您使用 Aptitude (apt-get)在 Ubuntu 12.04上安装 Jenkins,取消 /etc/default/jenkins顶部几行中 JAVA_ARGS行的注释:

# arguments to pass to java
#JAVA_ARGS="-Xmx256m"   # <--default value
JAVA_ARGS="-Xmx2048m"
#JAVA_ARGS="-Djava.net.preferIPv4Stack=true" # make jenkins listen on IPv4 address

我已经添加到 /etc/sysconfig/jenkins(CentOS) :

# Options to pass to java when running Jenkins.
#
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Xmx1024m -XX:MaxPermSize=512m"

对于 ubuntu,相同的配置应该位于 /etc/default