温馨提示×

怎样用centos优化jenkins性能

小樊
41
2026-10-03 08:42:38
栏目: 智能运维

在 CentOS 上优化 Jenkins 性能,通常可以从系统层、JVM 层、Jenkins 配置层、插件与任务层四个方面入手。下面给你一套比较实用、可落地的优化方案。


一、CentOS 系统层优化

1. 调整文件描述符限制

Jenkins 会大量使用文件句柄(构建日志、workspace 等)。

# 查看当前限制
ulimit -n

# 修改限制(永久)
vi /etc/security/limits.conf

添加:

jenkins soft nofile 65535
jenkins hard nofile 65535

2. 调整内核参数

vi /etc/sysctl.conf

建议添加:

fs.file-max = 1000000
vm.swappiness = 10
net.core.somaxconn = 1024

执行:

sysctl -p

3. 使用 SSD / 高性能磁盘

  • Jenkins 的 JENKINS_HOME 建议放在 SSD
  • 避免和数据库、日志服务共用磁盘

4. 关闭不必要的服务

systemctl disable firewalld --now   # 如果已有外部防火墙
systemctl disable postfix

二、JVM 与 Jenkins 启动参数优化

1. 修改 Jenkins JVM 参数

CentOS 上通常配置文件在:

/etc/sysconfig/jenkins

或(systemd):

/etc/systemd/system/jenkins.service

示例(8G 内存服务器):

JAVA_OPTS="-Xms2g -Xmx4g -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Djenkins.install.runSetupWizard=false"

说明:

  • -Xms / -Xmx:避免频繁 GC
  • G1GC:适合 Jenkins 长期运行
  • 不要设太大,留给系统缓存

2. 修改后重启

systemctl daemon-reload
systemctl restart jenkins

三、Jenkins 自身配置优化

1. 限制构建并发数

Manage Jenkins → Configure System

  • # of executors:建议 = CPU 核心数 或 核心数 × 1.5

2. 使用分布式构建(推荐)

  • 新增 Agent(Linux / Docker)
  • Master 只做调度,不跑重任务

3. 定期清理

  • 旧构建
  • Workspace
  • 日志

插件推荐:

  • Discard Old Build
  • Workspace Cleanup
  • Timestamper(谨慎开)

四、插件与任务优化

1. 禁用无用插件

Manage Jenkins → Plugins → Installed

删除:

  • 不用的 SCM
  • 重复功能的插件

2. Pipeline 优化

✅ 推荐:

pipeline {
    agent { label 'build-agent' }
    options {
        timeout(time: 30, unit: 'MINUTES')
        disableConcurrentBuilds()
    }
}

❌ 避免:

  • 在 Master 上跑 heavy shell
  • 每个 stage 都 checkout

3. 使用 Docker Agent(CentOS 上很有效)

agent {
    docker {
        image 'maven:3.8'
        args '-v /root/.m2:/root/.m2'
    }
}

五、监控与问题定位

1. 插件

  • Monitoring
  • Metrics
  • Blue Ocean(轻量使用)

2. 系统监控

top
htop
iostat -x 1
jstat -gcutil <pid> 1000

六、典型推荐配置(示例)

项目 建议
CPU ≥ 4 核
内存 ≥ 8G
JVM 2–4G
构建 Agent 分离
磁盘 SSD
GC G1GC

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

  • CentOS 版本(7 / 8 / Stream)
  • Jenkins 安装方式(rpm / docker / war)
  • 当前机器配置和卡顿现象

我可以给你针对性的调优方案。

0 踩