詹金斯活跃(退出)

时间:2017-03-05 11:22:53

标签: linux ubuntu jenkins ubuntu-16.04

出于某种原因Jenkins一直停止工作,我必须重新启动jenkins服务才能让它再次运行。每次发生这种情况时,服务都是“活动(退出)”,但日志中没有任何内容。我使用的是Ubuntu 16.04。

root@laran:~# service jenkins status
    ● jenkins.service - LSB: Start Jenkins at boot time
       Loaded: loaded (/etc/init.d/jenkins; bad; vendor preset: enabled)
       Active: active (exited) since Sun 2017-03-05 06:09:46 EST; 6min ago
         Docs: man:systemd-sysv-generator(8)
      Process: 25459 ExecStop=/etc/init.d/jenkins stop (code=exited, status=0/SUCCESS)
      Process: 25477 ExecStart=/etc/init.d/jenkins start (code=exited, status=0/SUCCESS)

5 个答案:

答案 0 :(得分:7)

Linux内核的 oom-killer (“内存杀手”)可能会杀死你的JVM。如果物理内存不再足以容纳所有进程,它会向选定的进程发送SIGKILL信号。检查包含字符串journalctl的行的oom-killer输出以确认。

oom-killer只在一段时间后才会打击是正常的。通常,Linux不会对进程请求的虚拟内存量施加限制(因此您的JVM可以轻松地在512 MiB系统上分配2 GiB的RAM)。但是,如果进程实际上使用分配的内存(在您的情况下:使用的堆的数量增加),那么内核可能会发现物理内存量不再足够。这就是oom-killer将选择一个有希望的念念过程被杀死的地方。詹金斯作为一个消耗大量内存的非系统进程,很有可能成为将被杀死的人。

您可以通过

解决问题
  • 为您的系统添加更多物理内存
  • 减少JVM内存设置(例如,较小的堆)

答案 1 :(得分:2)

/var/lib/jenkins下的文件和文件夹设置权限对我有用:

vim /etc/sysconfig/jenkins  
# make sure that $JENKINS_USER="jenkins"

chown -R jenkins:jenkins /var/lib/jenkins
chown -R jenkins:jenkins /var/cache/jenkins
chown -R jenkins:jenkins /var/log/jenkins
systemctl restart jenkins 

答案 2 :(得分:0)

您是否更新了Jenkins?

如果是这样,请阅读......

就我而言,这是一个更改配置的Jenkins更新。我的自定义jenkins端口(9090)已更改(更新后默认为8080)。我无法在9090端口打开jenkins仪表板。所以我尝试了提到的建议。我检查了service statusjournalctl日志,我发现这些日志绝对具有误导性。 jenkins服务状态显示 Active: active (exited)虽然该服务已启动并正在运行。

我检查并确认jenkins jvm进程正在运行(使用jps命令显示正在运行的java进程列表。)

所以,在你弄清楚出了什么问题之前,只需检查jenkins更新是否更改了任何配置以及jenkins进程是否已经在其他端口的后台运行。

答案 3 :(得分:0)

我也发生了同样的事情。

我先安装了Apache,然后尝试安装Jenkins。因为Apache使用的是我的本地主机的端口8080,所以它不允许Jenkins在默认端口也为8080的同一端口上运行。

快速解决方案:

停止Apache,然后重试以启动Jenkins。这有助于我将状态从“兴奋”更改为“跑步”。

我希望这会有所帮助。

答案 4 :(得分:0)

在我的情况下,journalctl给出了一个非常明显的错误:

Feb 01 15:21:27 localhost.localdomain polkitd[1421]: Registered Authentication Agent for unix-process:26095:1614590 (system bus name :1.190 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freede
Feb 01 15:21:27 localhost.localdomain systemd[1]: Starting LSB: Jenkins Automation Server...
Feb 01 15:21:27 localhost.localdomain runuser[26110]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: Starting Jenkins Feb 01, 2020 3:21:27 PM Main verifyJavaVersion
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: SEVERE: Running with Java class version 56 which is not in the list of supported versions: [52, 55]. Run with the --enable-future-java flag to enable such be
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: java.lang.UnsupportedClassVersionError: 56.0
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: at Main.verifyJavaVersion(Main.java:174)
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: at Main.main(Main.java:142)
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: Jenkins requires Java versions [8, 11] but you are running with Java 12 from /usr/java/jdk-12.0.1
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: java.lang.UnsupportedClassVersionError: 56.0
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: at Main.verifyJavaVersion(Main.java:174)
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: at Main.main(Main.java:142)
Feb 01 15:21:28 localhost.localdomain runuser[26110]: pam_unix(runuser:session): session closed for user jenkins
Feb 01 15:21:28 localhost.localdomain jenkins[26102]: [  OK  ]
Feb 01 15:21:28 localhost.localdomain systemd[1]: Started LSB: Jenkins Automation Server.

基本上,我使用的是Java 12.0,它的类文件格式为56(尚不支持)。

此日期为jenkins.noarch 0:2.204.2-1.1