CentOS 上的 Jenkins **突然宕机(停止运行 / 无法访问)**通常不是单一原因,常见原因和排查思路如下:
Jenkins + 构建任务(Maven / npm / Docker)非常吃内存。
表现
Out of memory: Kill process排查
# 查看系统日志
sudo grep -i "killed process" /var/log/messages
sudo dmesg | grep -i oom
# 查看 Jenkins 内存配置
ps -ef | grep jenkins
解决
如果是 systemd 启动:
systemctl status jenkins
journalctl -u jenkins -n 100
常见问题:
解决
systemctl enable jenkins
systemctl start jenkins
Jenkins 会持续写入:
排查
df -h
du -sh /var/lib/jenkins/*
解决
Jenkins 依赖 Java。
表现
jenkins.log 中有 java.lang.OutOfMemoryErrorhs_err_pid*.log 文件生成排查
ls /var/lib/jenkins/hs_err_pid*
cat /var/log/jenkins/jenkins.log | tail -200
解决
表现
排查
cat /var/log/jenkins/jenkins.log
解决
mv /var/lib/jenkins/plugins/xxx.jpi /tmp/
systemctl restart jenkins
ss -lntp | grep 8080
firewall-cmd --list-all
编辑:
/etc/sysconfig/jenkins
# 或
/etc/default/jenkins
示例:
JENKINS_JAVA_OPTIONS="-Xms1024m -Xmx2048m"
重启:
systemctl restart jenkins
systemctl status jenkinsjournalctl -u jenkinsdf -hfree -mcat /var/log/jenkins/jenkins.log | tail -300如果你愿意,可以贴出:
jenkins.log 最后 100 行systemctl status jenkins 输出我可以直接帮你判断是 OOM / 插件 / 磁盘 / Java 哪一类问题。