【发布时间】:2011-08-21 15:30:55
【问题描述】:
我想增加 Jenkins 的可用堆空间。但由于它是作为服务安装的,我不知道该怎么做。
【问题讨论】:
标签: jenkins heap-memory jvm-arguments
我想增加 Jenkins 的可用堆空间。但由于它是作为服务安装的,我不知道该怎么做。
【问题讨论】:
标签: jenkins heap-memory jvm-arguments
如果您使用 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
【讨论】:
sudo service jenkins stopsudo service jenkins start
在您的 Jenkins 安装目录中有一个 jenkins.xml,您可以在其中设置各种选项。 将具有所需大小的参数 -Xmx 添加到 arguments-tag (如果已经存在,则增加大小)。
【讨论】:
/etc/default/jenkins 解决方案适合我。
您需要修改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>
您还可以通过 Manage Jenkins / Manage Plugins 安装 Jenkins monitor plugin 来验证 Jenkins 正在使用的 Java 选项,然后导航到 Managing Jenkins / Hudson 监控 / Jenkins master 使用监控来确定 Jenkins 有多少内存可用。
如果 Jenkins 调用 Maven 时出现内存不足错误,可能需要通过 Manage Jenkins / Configure System 设置 MAVEN_OPTS,例如如果您在 JDK 1.8 之前的 Java 版本上运行(这些值是建议值):
-Xmx2048m -XX:MaxPermSize=512m
如果您使用的是 JDK 1.8:
-Xmx2048m
【讨论】:
-XX:MaxPermSize=512m - 上面的回复已经过编辑以修正这个错字。
-XX:MaxPermSize 不再与 Java 8 或更高版本一起使用 stackoverflow.com/questions/12114174/what-does-xxmaxpermsize-do
我已添加到 /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 维基:
这些的JVM启动参数 Windows 服务由一个 XML 文件 jenkins.xml 和 jenkins-slave.xml 分别。这些 文件可以在 $JENKINS_HOME 中找到 并在从属根目录中 分别安装后 它们作为 Windows 服务。
文件格式应该是 不言自明。调整论点 例如给 JVM 一个更大的 记忆。
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Windows+service
【讨论】:
如果您使用的是 Jenkins 模板,您可能会在其中定义其他虚拟机设置,这可能与您的系统虚拟机设置冲突
你的模板可能有这样的参考
<mavenOpts>-Xms512m -Xmx1024m -Xss1024k -XX:MaxPermSize=1024m -Dmaven.test.failure.ignore=false</mavenOpts>
确保将这些模板条目与系统的 VM 设置对齐
【讨论】: