出于某种原因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)
答案 0 :(得分:7)
Linux内核的 oom-killer (“内存杀手”)可能会杀死你的JVM。如果物理内存不再足以容纳所有进程,它会向选定的进程发送SIGKILL信号。检查包含字符串journalctl
的行的oom-killer
输出以确认。
oom-killer只在一段时间后才会打击是正常的。通常,Linux不会对进程请求的虚拟内存量施加限制(因此您的JVM可以轻松地在512 MiB系统上分配2 GiB的RAM)。但是,如果进程实际上使用分配的内存(在您的情况下:使用的堆的数量增加),那么内核可能会发现物理内存量不再足够。这就是oom-killer将选择一个有希望的念念过程被杀死的地方。詹金斯作为一个消耗大量内存的非系统进程,很有可能成为将被杀死的人。
您可以通过
解决问题答案 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端口(9090)已更改(更新后默认为8080)。我无法在9090端口打开jenkins仪表板。所以我尝试了提到的建议。我检查了service status
和journalctl
日志,我发现这些日志绝对具有误导性。 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