如何在Windows下作为服务启动时为Jenkins提供更多堆空间?

时间:2011-05-09 11:56:42

标签: jenkins heap jvm-arguments

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

6 个答案:

答案 0 :(得分:101)

如果您使用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

答案 1 :(得分:87)

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

答案 2 :(得分:70)

您需要修改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 monitor plugin,然后导航到管理来验证Jenkins正在使用的Java选项Jenkins / 监控Hudson / Jenkins master 以使用监控来确定Jenkins可用的内存量。

如果Jenkins调用Maven时出现内存不足错误,可能需要通过管理Jenkins / 配置系统来设置MAVEN_OPTS,例如如果您在JDK 1.8之前运行Java版本(值是建议):

-Xmx2048m  -XX:MaxPermSize=512m

如果您使用的是JDK 1.8:

-Xmx2048m

答案 3 :(得分:16)

来自Jenkins wiki:

  

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

     

文件格式应该是   不言自明的。调整论点   例如,给JVM一个更大的   存储器中。

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

答案 4 :(得分:15)

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

答案 5 :(得分:0)

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

示例你的tempalate可能有像这些

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

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