Jenkins內存溢出的處理方法


參考:http://openwares.net/java/jenkens_deploy_to_tomcat_error_of_outofmemoryerror.html上的說明,有如下解釋:

-Xms:初始堆內存大小

-Xmx:最大堆內存大,一般設置-Xms與-Xmx一樣大小,根據應用類型和物理內存大小來決定二者的大小

-Xmn或者-XX:NewSize:堆內存中年輕代的大小

-XX:PermSize:永久代內存的初始大小

-XX:MaxPermSize:永久代內存的最大值

以上參數都是針對jvm的內存配置。更詳細的參數說明,請參考:http://blog.csdn.net/kongls08/article/details/8468713

實際上,這個是tomcat的配置,一般部署jenkins時,采用war包的形式部署,那么直接修改tomcat的啟動參數。

同樣,如果直接使用java -jar以jetty的形式啟動,也是修改啟動參數即可。

具體實現方式:

1、在windows上采用msi安裝包安裝的,找到"C:\Program Files (x86)\Jenkins\jenkins.xml"的文件,然后找到arguments節點,參照以上參數修改成合適的值。如:-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m

2、如果以war包部署到tomcat的,直接修改tomcat的啟動命令:

①如果以zip包下載的tomcat,那么直接修改如下文件:

(windows)在catalina.bat的第一行增加:set JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m

(linux/mac)在catalina.sh的第一行增加:JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m

②如果是以windows服務安裝的tomcat,那么直接在服務管理器上直接增加啟動的參數,找到安裝目錄下bin文件夾的Tomcat7w.exe,打開,在java的選項卡上加上如上的配置參數,如下所示:

 

總結:

其實要說jenkins的內存溢出,我覺得應該是jvm的調優才對,所以在找關鍵字解決這類問題時,應該轉變思路,查找jvm方面的解決方案。

以下是參考第一個網址給出的16G內存服務器的配置解決方案,可以嘗試一下。

-Xmx5120m -Xms5120m -Xmn1024m -XX:PermSize=1024m -XX:MaxPermSize=1024m

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM