温馨提示×

centos jenkins怎么优化性能

小樊
32
2026-09-09 08:14:53
栏目: 智能运维

CentOS 上优化 Jenkins 性能,可以从 系统层面、Jenkins 配置、插件与构建方式、资源隔离 四个方面入手。下面给你一套比较实用、可落地的优化方案。


一、系统层(CentOS)优化

1. 使用合适的 JDK

  • 推荐 JDK 11 或 JDK 17(LTS)
  • 避免 OpenJDK 过旧版本
java -version

2. 调整系统资源限制

编辑 /etc/security/limits.conf

jenkins soft nofile 65536
jenkins hard nofile 65536
jenkins soft nproc 4096
jenkins hard nproc 4096

3. 调整内核参数(高并发)

sysctl -w net.core.somaxconn=65535
sysctl -w vm.swappiness=10

4. 使用 SSD / 高 IOPS 磁盘

Jenkins 对 磁盘 IO 非常敏感(构建日志、workspace)


二、Jenkins 本身优化

1. JVM 参数优化(非常重要)

修改 Jenkins 启动参数(CentOS 通常是 /etc/sysconfig/jenkins 或 systemd)

JENKINS_JAVA_OPTIONS="-Xms2g -Xmx4g -XX:+UseG1GC -XX:MaxGCDurationMillis=200"

建议:

  • 最小堆 = 最大堆(避免动态调整)
  • 使用 G1GC
  • 不要超过物理内存 70%

2. 限制构建并发数

Manage Jenkins → Configure System

  • # of executors 不要过高(通常 = CPU 核数)
  • 节点分开管理

三、构建与插件优化

1. 使用 Agent / Node(不要全压 Master)

  • Master 只做调度
  • 构建放 Agent(Docker / K8s / 物理机)
pipeline {
  agent { label 'build-node' }
}

2. 定期清理

  • 构建历史
  • Workspace
  • 日志

安装插件:

  • Workspace Cleanup
  • Build Discarder
options {
    buildDiscarder(logRotator(numToKeepStr: '20'))
    disableConcurrentBuilds()
}

3. 避免重型插件

常见问题插件:

  • 过多的 Git 轮询
  • 复杂的权限插件

四、CI/CD 架构级优化(推荐)

1. 用 Docker Agent

agent {
  docker {
    image 'maven:3.8'
  }
}

2. 用 Kubernetes + Jenkins

  • 动态 Pod 构建
  • 用完即销
  • 资源隔离好

五、常见性能问题速查

现象 原因 解决
Jenkins 卡死 内存不足 调 JVM
构建慢 磁盘 IO SSD
CPU 飙高 并发太多 限 executor
页面卡 插件多 精简

六、推荐最小优化组合(立竿见影)

✅ JDK 11/17
✅ Xms = Xmx
✅ G1GC
✅ Agent 分离
✅ 构建历史限制
✅ SSD


如果你愿意,可以告诉我:

  • Jenkins 版本
  • 是否在 Docker / K8s
  • 构建类型(Java / 前端 / 多语言)

我可以直接给你 定制优化方案或 Jenkinsfile 示例

0