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