在 CentOS 上运行 Jenkins 卡顿,通常是内存不足、Java 参数不合理、插件过多或系统资源被占用导致的。下面按「排查 → 优化 → 应急」给你一套实用方案。
top
free -h
df -h
重点关注:
free 很小)/var)ps -ef | grep jenkins
或
systemctl status jenkins
tail -f /var/log/jenkins/jenkins.log
常见现象:
OutOfMemoryErrorJenkins 默认吃内存很狠。
建议最低配置:
编辑:
vim /etc/sysconfig/jenkins
或(CentOS 7+ systemd):
vim /usr/lib/systemd/system/jenkins.service
修改:
JAVA_OPTS="-Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m"
Java 8 用 PermSize
Java 11+ 用:
JAVA_OPTS="-Xms1024m -Xmx2048m"
然后:
systemctl daemon-reload
systemctl restart jenkins
安全模式启动(只加载核心)
systemctl stop jenkins
java -jar /usr/lib/jenkins/jenkins.war --safe
Jenkins → 系统管理 → 节点管理 → 设置执行器数量(建议 = CPU 核数)
dd if=/dev/zero of=/swapfile bs=1M count=2048
mkswap /swapfile
swapon /swapfile
永久生效:
echo '/swapfile swap swap defaults 0 0' >> /etc/fstab
systemctl disable postfix
systemctl disable cups
推荐:
systemctl stop jenkins
pkill -9 java
systemctl start jenkins
rm -rf /var/lib/jenkins/jobs/*/builds/*
如果你愿意,可以贴一下:
free -htop 截图我可以直接帮你算该给多少内存最合适。