2017-09-06 38 views
2

我搜索了以前的線程,但沒有解決我的問題。我正在使用Ubuntu。打開的文件太多錯誤!安裝了很多插件後無法打開Jenkins

問題是這樣的:

錯誤java.nio.file.FileSystemException:/var/lib/jenkins/config.xml:在

sun.nio.fs.UnixException 打開的文件太多。sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:114)在sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:119)在sun.nio.fs.中的.translateToIOException(UnixException.java:103)在java.nio.file.Files.newByteChannel上的UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:226)在java.nio.file.Files.newByteChannel(Files.java:418) .spi.FileSystemProvider.newInputStream(FileSystemProvider.jav a:395)在jenkins.model.Jenkins.loadConfig(Jenkins.java:3078)處的hudson.XmlFile.unmarshal(XmlFile.java:158)處的java.nio.file.Files.newInputStream(Files.java:163) jenkins.model.Jenkins.access $ 1200(Jenkins.java:307)at jenkins.model.Jenkins $ 16.run(Jenkins.java:3096)at org.jvnet.hudson.reactor.TaskGraphBuilder $ TaskImpl.run(TaskGraphBuilder.java: 169)在org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)at jenkins.model.Jenkins $ 7.runTask(Jenkins.java:1090)at org.jvnet.hudson.reactor.Reactor $ 2.run (Reactor.java:210)at org.jvnet.hudson.reactor.Reactor $ Node.run(Reactor.java:117)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153)at java.util。併發.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:628)at java.lang.Thread.run(Thread.java:785)

原因:org.jvnet.hudson.reactor.ReactorException at org.jvnet.hudson .reactor.R eector.execute(Reactor.java:269)在jenkins.itReactorRunner.run(InitReactorRunner.java:47) 929)at hudson.model.Hudson。(Hudson.java:86)at hudson.model.Hudson。(Hudson.java:82)at hudson.WebAppMain $ 3.run(WebAppMain.java:235)

引起: hudson.util.HudsonFailedToLoad在hudson.WebAppMain $ 3.run(WebAppMain.java:252)

+1

我下面提供了兩種解決方案。請檢查一下。 –

回答

2

當您安裝詹金斯,它會創建一個默認詹金斯用戶。請注意,您在Jenkins上執行的每一個操作都與「Jenkins」用戶相關聯。在Ubuntu中(你告訴你的操作系統是Ubuntu),有打開的文件限制。您可以知道,打開的文件會使用用戶shell中的ulimit -n進行限制。例如,如果您想知道「jenkins」用戶的「ulimit -n」,請執行以下操作:將shell更改爲「jenkins」用戶,並執行「su - jenkins」,然後執行ulimit -n。默認值爲1024.您可以將此值增加到4096或更多:ulimit -n 4096

或者,您可以在/etc/security/limits.conf文件中創建一個新的ulimit記錄,如下所示。

jenkins  soft nofile 4096 
jenkins  hard nofile 8192 

解釋(你可以讀更好地理解/etc/security/limits.conf文件中)

詹金斯 - 用戶/組名

軟/硬 - 鏈接的類型。 注意:軟鏈接可以從0到硬鏈接。

nofile - 打開文件的數量 而且是值。