126

我想增加 Jenkins 的可用堆空间。但是由于它是作为服务安装的,所以我不知道该怎么做。

4

6 回答 6

119

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

# 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
于 2012-06-19T23:23:23.200 回答
100

在您的 Jenkins 安装目录中有一个 jenkins.xml,您可以在其中设置各种选项。将具有所需大小的参数 -Xmx 添加到 arguments-tag (或增加大小,如果它已经存在)。

于 2011-05-09T12:00:39.390 回答
77

您需要修改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 /监控 Hudson / Jenkins master来验证 Jenkins 正在使用的 Java 选项,以使用监控来确定 Jenkins 有多少内存可用。

如果您在 Jenkins 调用 Maven 时遇到内存不足错误,可能需要通过Manage Jenkins / Configure System设置 MAVEN_OPTS,例如,如果您在 JDK 1.8 之前的 Java 版本上运行(这些值是建议):

-Xmx2048m  -XX:MaxPermSize=512m

如果您使用的是 JDK 1.8:

-Xmx2048m
于 2011-11-14T13:51:26.310 回答
32

我已添加到/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

于 2015-08-21T10:51:39.620 回答
16

从詹金斯维基:

这些 Windows 服务的 JVM 启动参数分别由 XML 文件 jenkins.xml 和 jenkins-slave.xml 控制。这些文件可以分别在 $JENKINS_HOME 和从属根目录中找到,在您将它们安装为 Windows 服务之后。

文件格式应该是不言自明的。例如,调整参数以给 JVM 更大的内存。

https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Windows+service

于 2011-05-09T12:02:08.847 回答
-1

如果您使用Jenkins 模板,您可能会在其中定义其他 VM 设置,这可能与您的系统 VM 设置冲突

例如,您的模板可能有这些参考

 <mavenOpts>-Xms512m -Xmx1024m -Xss1024k -XX:MaxPermSize=1024m -Dmaven.test.failure.ignore=false</mavenOpts> 

确保将这些模板条目与系统的 VM 设置对齐

于 2017-09-18T12:37:34.320 回答