造成jenkins内存溢出的原因有以下几点:
1.一次性构建的项目过大
2.Jenkins大量高负载
3.Jenkins自己就比较耗内存,tomcat默认的jvm分配满足不了它
解决方法:
linux环境:
[jenkins@localhost bin]$ vi /opt/jenkins/tpc/tomcat/bin/catalina.sh
在在rem 的后面增加如下参数:
JAVA_OPTS='-Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m'
注释说明:Xms256说明JVM的初始大小设置为256M,Xmx512说明JVM最大值为512M,根据实际情况可调整
NewSize代表新生代,PermSize代表持久代,具体可参考java的垃圾回收机制
重启tomcat生效。
windows环境:
编辑tomcat/bin/catalina.bat,在最后一个rem后面增加:
set JAVA_OPTS=-Xms512m -Xmx1024m
重启tomcat就可以了。