亲测解决Jenkins打包安卓项目提示堆内存不足

现象:

公司换用新的服务器,配置为2核8G,JAVA和SDK环境变量已配置。构建打包时提示java-lang-OutOfMemoryError-Java-heap-space

定位问题:

在网上谷歌了半天,大部分的解决方法都是修改jenkins的配置:

命令行中使用vim编辑 vim /etc/sysconfig/jenkins

点击i进入编辑模式 修改为如下内容

JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -Xms2048m -Xmx2048m"
按ESC退出编辑模式,输入:wq保存(:q!不保存退出)

但是实际测试发现仍然提示堆内存不足

使用ps -ef|grep jenkins查看jenkins的任务,
显示内容为

jenkins    66287       1  0 Nov05 ?        00:04:54 /usr/local/jdk1.8.0_271/bin/java -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
jenkins   204645   66287 36 11:26 ?        00:00:01 /usr/local/jdk1.8.0_271/bin/java -Xmx64m -Xms64m -Dorg.gradle.appname=gradle -classpath /usr/local/gradle-6.5/lib/gradle-launcher-6.5.jar org.gradle.launcher.GradleMain app:clean app:assemblerelease --stacktrace --info -b ClassNote/build.gradle
jenkins   204683  204645 99 11:26 ?        00:00:05 /usr/local/jdk1.8.0_271/bin/java -Xms256m -Xmx512m -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -cp /usr/local/gradle-6.5/lib/gradle-launcher-6.5.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 6.5

上文第三行的部分,说明gradle使用的堆内存最小256m,最大512m。这导致heapSize不足,打包失败

解决方法(通过xftp操作文件,比命令行更方便)
通过在/var/lib/jenkins/.gradle文件夹下,增加一个文件gradle.properties,内容为

org.gradle.jvmargs=-Xms2048m -Xmx2048m

即可修改gradle打包时的堆内存最小和最大都为2g,成功打包。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值