Jenkins內存溢出的處理方法
-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)Jenkinsjenkins.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
※Spark SQL與DataFrame詳解以及使用
※Truffle 3.0部署智能合約至Ethereum節點
TAG:程序員小新人學習 |