你问的“优化 CentOS 上的 Jenkins”,通常可以从 系统层面、Jenkins 自身配置、构建性能、安全与维护 几个方向来做。下面我按“实用可落地”的方式整理一份优化清单。
Jenkins 是 Java 应用,容易受文件句柄和进程数限制影响。
# 查看当前限制
ulimit -a
# 修改 /etc/security/limits.conf
jenkins soft nofile 65536
jenkins hard nofile 65536
jenkins soft nproc 4096
jenkins hard nproc 4096
# /etc/sysctl.conf
net.core.somaxconn = 1024
vm.swappiness = 10
sysctl -p
Jenkins 的:
JENKINS_HOME强烈建议放在 SSD 上。
CentOS 通常是:
/etc/sysconfig/jenkins
或 systemd:
/etc/systemd/system/jenkins.service.d/override.conf
示例(4C8G 服务器):
JAVA_OPTS="-Xms2g -Xmx4g -XX:+UseG1GC -XX:MaxGCPauseMillis=200"
建议:
Manage Jenkins → Configure System
# of executors(每个节点)不要在主节点跑构建:
定期清理:
Manage Jenkins → Script Console
示例清理旧 build:
Jenkins.instance.getAllItems(Job).each { job ->
job.builds.findAll { it.number < 50 }.each { it.delete() }
}
/root/.m2/repository
~/.npm
~/.gradle
挂载到 Agent 或持久卷。
parallel(
unitTest: { ... },
build: { ... }
)
skipDefaultCheckoutJENKINS_HOME| 现象 | 可能原因 |
|---|---|
| 页面卡顿 | 主节点跑构建 |
| 构建慢 | 无依赖缓存 |
| OOM | JVM 堆太小 |
| 磁盘满 | 工作空间未清理 |
如果你能补充一下:
我可以直接给你一套 针对性优化方案或配置模板。