ฉันต้องการเพิ่มพื้นที่ฮีปที่มีให้สำหรับเจนกินส์ แต่เนื่องจากมีการติดตั้งเป็นบริการฉันไม่รู้ว่าจะต้องทำอย่างไร
ฉันต้องการเพิ่มพื้นที่ฮีปที่มีให้สำหรับเจนกินส์ แต่เนื่องจากมีการติดตั้งเป็นบริการฉันไม่รู้ว่าจะต้องทำอย่างไร
คำตอบ:
ในไดเร็กทอรีการติดตั้ง Jenkins ของคุณมี jenkins.xml ซึ่งคุณสามารถตั้งค่าตัวเลือกต่างๆได้ เพิ่มพารามิเตอร์ -Xmx ด้วยขนาดที่คุณต้องการให้กับแท็กอาร์กิวเมนต์ (หรือเพิ่มขนาดหากมีอยู่แล้ว)
/etc/default/jenkins
วิธีการแก้ปัญหาที่นำเสนอด้านล่างโดยสตีฟเป็นหนึ่งที่ทำงานสำหรับฉัน
หากคุณใช้ Aptitude (apt-get) เพื่อติดตั้ง Jenkins บน Ubuntu 12.04 ให้ยกเลิกการใส่เครื่องหมายJAVA_ARGS
ในบรรทัดแรกสุดของ/etc/default/jenkins
:
# arguments to pass to java
#JAVA_ARGS="-Xmx256m" # <--default value
JAVA_ARGS="-Xmx2048m"
#JAVA_ARGS="-Djava.net.preferIPv4Stack=true" # make jenkins listen on IPv4 address
sudo service jenkins stop
sudo service jenkins start
คุณต้องแก้ไขไฟล์jenkins.xml คุณต้องเปลี่ยนโดยเฉพาะ
<arguments>-Xrs -Xmx256m
-Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle
-jar "%BASE%\jenkins.war" --httpPort=8080</arguments>
ถึง
<arguments>-Xrs -Xmx2048m -XX:MaxPermSize=512m
-Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle
-jar "%BASE%\jenkins.war" --httpPort=8080</arguments>
คุณยังสามารถตรวจสอบตัวเลือก Java ที่ Jenkins ใช้อยู่ได้โดยติดตั้งปลั๊กอินตรวจสอบ Jenkinsผ่านManage Jenkins / Manage Pluginsจากนั้นไปที่การจัดการ Jenkins / Monitoring of Hudson / Jenkins masterเพื่อใช้การตรวจสอบเพื่อกำหนดจำนวนหน่วยความจำที่ Jenkins ใช้ได้
หากคุณได้รับข้อผิดพลาดหน่วยความจำไม่เพียงพอเมื่อ Jenkins โทรหา Maven อาจจำเป็นต้องตั้งค่า MAVEN_OPTS ผ่านManage Jenkins / Configure Systemเช่นหากคุณใช้ Java เวอร์ชันก่อน JDK 1.8 (ค่าเป็นคำแนะนำ):
-Xmx2048m -XX:MaxPermSize=512m
หากคุณใช้ JDK 1.8:
-Xmx2048m
-XX:MaxPermSize=512m
- มีการแก้ไขคำตอบด้านบนเพื่อแก้ไขการพิมพ์ผิดนี้
-XX:MaxPermSize
ไม่ได้ใช้กับ Java 8 หรือสูงกว่าstackoverflow.com/questions/12114174/what-does-xxmaxpermsize-do
ฉันได้เพิ่มไปที่/ etc / sysconfig / jenkins (CentOS):
# Options to pass to java when running Jenkins.
#
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Xmx1024m -XX:MaxPermSize=512m"
สำหรับอูบุนตูการกำหนดค่าเดียวกันควรอยู่ใน/ etc / default
จาก Jenkins wiki:
พารามิเตอร์การเรียกใช้ JVM ของบริการ Windows เหล่านี้ถูกควบคุมโดยไฟล์ XML jenkins.xml และ jenkins-slave.xml ตามลำดับ ไฟล์เหล่านี้สามารถพบได้ใน $ JENKINS_HOME และในไดเร็กทอรี root ของทาสตามลำดับหลังจากที่คุณติดตั้งเป็นบริการของ Windows
รูปแบบไฟล์ควรอธิบายได้เอง ปรับแต่งอาร์กิวเมนต์เพื่อให้ JVM มีหน่วยความจำที่ใหญ่ขึ้น
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Windows+service
หากคุณใช้เทมเพลต Jenkinsคุณสามารถกำหนดการตั้งค่า VM เพิ่มเติมได้และอาจขัดแย้งกับการตั้งค่า VM ของระบบของคุณ
ตัวอย่างเช่น tempalate ของคุณอาจมีการอ้างอิงเช่นนี้
<mavenOpts>-Xms512m -Xmx1024m -Xss1024k -XX:MaxPermSize=1024m -Dmaven.test.failure.ignore=false</mavenOpts>
ตรวจสอบให้แน่ใจว่าได้จัดแนวรายการเทมเพลตเหล่านี้ให้ตรงกับการตั้งค่า VM ของระบบของคุณ