我想增加Jenkins的可用堆空间.但由于它作为服务安装,我不知道该怎么做.
如果您使用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
在Jenkins安装目录中有一个jenkins.xml,您可以在其中设置各种选项.将参数-Xmx与您想要的大小一起添加到arguments-tag(如果已经存在,则增加大小).
您需要修改jenkins.xml文件.具体来说,你需要改变
-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080
至
-Xrs -Xmx2048m -XX:MaxPermSize=512m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080
您还可以通过Manage Jenkins/Manage Plugins安装Jenkins监视器插件,然后导航到Managing Jenkins/Monitoring of 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
我已添加到/ 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中
来自Jenkins维基:
这些Windows服务的JVM启动参数分别由XML文件jenkins.xml和jenkins-slave.xml控制.在将它们安装为Windows服务后,可以分别在$ JENKINS_HOME和从属根目录中找到这些文件.
文件格式应该是不言自明的.例如,调整参数以给JVM一个更大的内存.
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Windows+service