我有一个在Docker下运行的Jenkins 2.150,没有任何工作或额外配置,只是普通安装。
对我来说,3GB的ram到普通安装太多了。解决这个问题的任何提示?
重要提示:我正在使用来自docker hub的图像Jenkins / Jenkins
在运行容器时指定容器的最大内存限制:https://docs.docker.com/config/containers/resource_constraints/#limit-a-containers-access-to-memory
docker run -m 512m jenkins/jenkins
512米= 512MB
由于Jenkins是一个JAVA应用程序,我们可以使用常见的-Xmx -Xms -XX:MaxPermSize参数来配置此java进程的RAM使用情况。
更改docker级别的内存可能会抛出Out of Memory异常,因为Jenkins具有预先配置的内存限制。
首先,您需要找到Jenkins属性文件。通常这是路径:
/etc/default/jenkins
如果你的Jenkins没有操纵任何身体,你可以找到:
# arguments to pass to java
#JAVA_ARGS="-Xmx256m"
取消注释并将256值更改为您需要的任何值。
# arguments to pass to java
JAVA_ARGS="-Xmx512m"
最后根据您的安装重新启动Jenkins。在您提到docker的情况下,这就足够了
docker stop jenkins && docker start jenkins
更改java内存配置后,您可能会遇到如下经典异常:java.lang.OutOfMemoryError,您必须配置适当的-Xmx -Xms -XX:MaxPermSize值
参考文献: