2015-09-21 49 views
1

我在Windows上運行一個新的Jeninks Master實例(windows server 2012)。 Jenkins大師在5天內兩次失敗。 Jenkins實例有大約30個節點,並且不太繁忙。在Windows上Jenkins Master - Java設置

我發現詹金斯的內存消耗是相當低(400MB),在jenkins.xml默認的Java內存設置

我修改了jenkins.xml到-Xrs -Xmx1536m和Java進程並沒有使用515mb的記憶。

我試圖XMX設定爲較高的值,但詹金斯服務將無法啓動。

2號失敗後的今天,我得到了相同的錯誤消息下面重複。

Windows服務器有8個內核和16GB內存。平均CPU爲< 5%,平均內存使用量爲2GB。詹金斯版本1.609.3

讚賞任何幫助指針....

Sep 21, 2015 12:00:48 PM org.eclipse.jetty.util.log.JavaUtilLog warn 
WARNING: 
java.lang.OutOfMemoryError: unable to create new native thread 
at java.lang.Thread.start0(Native Method) 
at java.lang.Thread.start(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor.addWorker(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor.execute(Unknown Source) 
at winstone.BoundedExecutorService.scheduleNext(BoundedExecutorService.java:74) 
at winstone.BoundedExecutorService.execute(BoundedExecutorService.java:64) 
at  org.eclipse.jetty.util.thread.ExecutorThreadPool.dispatch(ExecutorThreadPool.java:126) 
at org.eclipse.jetty.server.nio.SelectChannelConnector$ConnectorSelectorManager.dispatch(SelectChannelConnector.java:300) 
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.dispatch(SelectChannelEndPoint.java:236) 
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.schedule(SelectChannelEndPoint.java:195) 
at org.eclipse.jetty.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:498) 
at org.eclipse.jetty.io.nio.SelectorManager$1.run(SelectorManager.java:290) 
at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 

回答

0

找到了解決這個。我安裝了JDK並使用VisualVM監視JVM的內存使用情況。這顯示了32位內存邊界。一點點默認情況下Jenkins_Home/JRE/bin中挖的java.exe是Jenins點之後是Java的32位版本。我修改了Jenkins.xml以指向已安裝的64 Jre。這工作得很好,並能夠將Xmx閥門修改爲4G。詹金斯現在正在運行happly使用< 2GB的內存用於JVM進程。