太多打开的文件错误!安装了太多插件后无法打开Jenkins。

3

我搜索了之前的帖子,但没有解决我的问题。我正在使用Ubuntu。

问题如下:

错误 java.nio.file.FileSystemException:/var/lib/jenkins/config.xml: 打开的文件太多

在 sun.nio.fs.UnixException.translateToIOException(UnixException.java:103) 处, sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:114) 和 sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:119) 时, 出现了java.nio.file.FileSystemException异常。 在 sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:226) 处创建了新的字节通道, 然后在 java.nio.file.Files.newByteChannel(Files.java:372) 和 java.nio.file.Files.newByteChannel(Files.java:418) 处设置了新的字节通道。 在 java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:395) 处创建了新的输入流, 然后在 java.nio.file.Files.newInputStream(Files.java:163) 处设置了新的输入流。 在 hudson.XmlFile.unmarshal(XmlFile.java:158) 处进行了反序列化操作,在 jenkins.model.Jenkins.loadConfig(Jenkins.java:3078) 处加载了配置,然后在 jenkins.model.Jenkins.access$1200(Jenkins.java:307) 进行访问,并在 jenkins.model.Jenkins$16.run(Jenkins.java:3096) 和 org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169) 中执行任务。 在 org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282) 中运行Reactor任务, 在 jenkins.model.Jenkins$7.runTask(Jenkins.java:1090) 中运行Jenkins任务。 在 org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210) 和 org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117) 中运行Reactor节点,并在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153) 和 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 中运行线程,最后在 java.lang.Thread.run(Thread.java:785) 中结束。

造成的结果是:org.jvnet.hudson.reactor.ReactorException异常和 hudson.util.HudsonFailedToLoad异常在 hudson.WebAppMain$3.run(WebAppMain.java:252) 处发生。


1
我提供了以下两个解决方案,请查看。 - Uddhav P. Gautam
1个回答

4
当您安装Jenkins时,它会创建一个名为“jenkins”的默认用户。请注意,您在Jenkins上执行的每个操作都与“Jenkins”用户相关联。在Ubuntu(您告诉我们您的操作系统是Ubuntu)中,有打开文件限制。您可以使用ulimit -n命令从用户Shell了解打开文件限制。例如,如果您想知道“jenkins”用户的"ulimit -n",您需要切换到“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文件以更好地理解)

jenkins - 用户/组名称

soft/hard - 链接类型。 注意:软链接可以从0到硬链接。

nofile - 打开文件的数量 而值是数字。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接