Windows altında bir hizmet olarak başladığında Jenkins'e daha fazla yığın alanı nasıl verilir?


Yanıtlar:


90

Jenkins kurulum dizininizde, çeşitli seçenekleri ayarlayabileceğiniz bir jenkins.xml vardır. -Xmx parametresini istediğiniz boyutta arguments-etiketine ekleyin (veya zaten varsa boyutu artırın).



Sorum şu: eğer yapılarda bellek yetersiz kalıyorsa, neden java seçeneklerini master'da ayarlamalıyız?
yarin

1
Yapmamalısın. Ancak bu soru, hafızanın bitmesi ile ilgili değildi, ana hafızanın tükenmesiyle ilgiliydi.
dunni

Ubuntu 16.04.6 LTS'den itibaren böyle bir dosya yok. /etc/default/jenkinsSteve aşağıda sunulan çözüm benim için çalışan biridir.
insideClaw

110

Ubuntu 12.04'e Jenkins'i yüklemek için Aptitude (apt-get) kullandıysanız JAVA_ARGS, ilk birkaç satırdaki satırın açıklamasını kaldırın /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

3
ya pencerelerse?
Dejell

6
Soru özellikle Windows'u belirtir.
Nick Udell

6
Evet, bu cevabı SO'da ne yaptığımı bilmeden önce yazdım ve bu kadar çok olumlu oy almasına şaşırdım. Belki de benim gibi, birçok insan bu soruya bir arama motoru aracılığıyla ulaşıyor ve bu kişilerin daha büyük bir yüzdesi Linux veya Unix kullanıyor? Ben anlamıyorum
Steve HHH

8
"Belki de benim gibi, birçok insan bu soruyu bir arama motoru aracılığıyla buluyor ve bu insanların daha büyük bir yüzdesi Linux veya Unix kullanıyor? Ben anlamıyorum." Ben de tam olarak böyle buldum.
Scott

1
Jenkins hizmetini yeniden başlatmayı unutmayınsudo service jenkins stop sudo service jenkins start
Camilo Silva

74

Jenkins.xml dosyasını değiştirmeniz gerekir . Özellikle değiştirmeniz gerekiyor

   <arguments>-Xrs -Xmx256m 
    -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle 
    -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>

için

    <arguments>-Xrs -Xmx2048m -XX:MaxPermSize=512m 
    -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle 
    -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>

Ayrıca, Jenkins'in kullandığı Java seçeneklerini, Manage Jenkins / Manage Plugins aracılığıyla Jenkins monitör eklentisini kurarak ve ardından Managing Jenkins / Monitoring of Hudson / Jenkins master'a giderek doğrulayabilirsiniz. ne kadar bellek olduğunu belirlemek için izlemeyi kullanmak giderek .

Jenkins, Maven'i çağırdığında bellek yetersiz hatası alıyorsanız, Manage Jenkins / Configure System aracılığıyla MAVEN_OPTS ayarlamanız gerekebilir, örneğin JDK 1.8'den önceki bir Java sürümü üzerinde çalışıyorsanız (değerler öneridir):

-Xmx2048m  -XX:MaxPermSize=512m

JDK 1.8 kullanıyorsanız:

-Xmx2048m

JENKINS_JAVA_OPTIONS'ı yukarıda açıklandığı gibi ayarlamayı denediğimde şunu alıyorum: "Jenkins Tanınmayan Seçeneği Başlatmak: --XX: MaxPermSize = 512m"
nemoo

2
Yalnızca bir kısa çizgi olmalıdır: -XX:MaxPermSize=512m - yukarıdaki yanıt, bu yazım hatasını düzeltmek için düzenlendi.
Adam Rofer

1
Windows'ta JENKINS_JAVA_OPTIONS'ın nasıl ayarlanacağı hakkında bir fikriniz var mı?
ATOzTOA

Windows'ta, jenkins.361315.n4.nabble.com/… 'e göre Denetim Masası -> Sistem -> Gelişmiş -> Ortam Değişkenleri
Mark Butler,


24

/ Etc / sysconfig / jenkins'e (CentOS) ekledim :

# Options to pass to java when running Jenkins.
#
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Xmx1024m -XX:MaxPermSize=512m"

Ubuntu için aynı yapılandırma / etc / default içinde bulunmalıdır.


16

Jenkins wiki'sinden:

Bu Windows hizmetlerinin JVM başlatma parametreleri, sırasıyla bir XML dosyası jenkins.xml ve jenkins-slave.xml tarafından kontrol edilir. Bu dosyalar Windows hizmetleri olarak yükledikten sonra sırasıyla $ JENKINS_HOME'da ve ikincil kök dizininde bulunabilir.

Dosya formatı kendinden açıklamalı olmalıdır. Örneğin JVM'ye daha büyük bir bellek vermek için argümanlar üzerinde ince ayar yapın.

https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Windows+service


-1

Jenkins şablonları kullanıyorsanız , içinde tanımlanmış ek VM ayarlarınız olabilir ve bu, sistem VM ayarlarınızla çakışabilir.

örnek olarak, tempalate'nizin bunun gibi referansları olabilir

 <mavenOpts>-Xms512m -Xmx1024m -Xss1024k -XX:MaxPermSize=1024m -Dmaven.test.failure.ignore=false</mavenOpts> 

Bu şablon girişlerini sisteminizin VM ayarıyla hizaladığınızdan emin olun

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.