jenkins 打安卓包 cpu使用过高处理操作


登录两个控制台

打包开始后 在其中一台机器执行ps -ef |grep jenkins 找到执行打包的主进程
复制pid 在另一个终端上执行 top -H -p pid

将最耗cpu的线程id转换为16进制输出
printf "%x \n" pid
会输出一个16进制的字符串

jstack pid | grep 16进制字符串 -A 30

输出内容
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f7cbc5e0000, 262275072, 0) failed; error='Cannot allocate memory' (errno=12)

后百度发现 由于tomcat使用的内存较少 导致的问题, 定位到问题后 修改setenv.sh,添加如下参数
JAVA_OPTS="-server -Xms2048m -Xmx4096m -XX:PermSize=256M -XX:MaxPermSize=512m"

开始的时候-Xms2048m -Xmx2048m 都为2048 但是在打包测试过程中还是报异常,后来跟开发人员沟通后,大致了解 整个过程所需的内存范围为4个G左右 后来修改 再次测试完全没问题


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM