You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins.war进程CPU占用持续过高问题排查求助

Jenkins进程长期高CPU占用的排查方向

核心排查点及解决思路

  • 任务持续执行/排队过载
    检查是否存在任务被高频触发(比如定时任务间隔过短、SCM轮询频率太高),或是大量任务堆积在构建队列等待执行。可通过Jenkins控制台的「构建队列」「正在运行的任务」面板直观查看,也可通过jenkins-cli list-jobs --with-builds命令统计任务执行频次。
  • 插件异常或内存泄漏
    老旧或有bug的插件(如部分SCM同步插件、统计分析插件)可能存在内存泄漏或低效逻辑,导致JVM线程持续高负载。可以通过Jenkins「系统管理」→「脚本控制台」执行以下代码查看活跃线程栈信息,定位异常插件:
    Thread.getAllStackTraces().keySet().stream()
      .filter(t -> t.getState().equals(Thread.State.RUNNABLE))
      .forEach(t -> println(t.getName() + ": " + t.getStackTrace()[0]))
    
    也可尝试临时禁用非核心插件,观察CPU负载是否下降。
  • JVM参数配置不合理
    默认的堆内存或GC参数可能无法适配当前任务量,导致频繁GC占用CPU。检查Jenkins启动参数中的-Xmx/-Xms(堆内存)、-XX:+UseG1GC(GC策略)等配置,用jstat -gc <Jenkins进程PID> 1000 10实时查看GC频率,按需调整堆内存大小或更换GC算法。
  • 构建记录清理触发负载
    即便配置了保留5次构建记录,若任务执行频繁,Jenkins清理旧构建时的IO或数据库操作可能短时间占用大量CPU。查看jenkins.log日志,确认是否存在频繁的Cleaning up old builds日志条目,判断是否为清理逻辑导致的负载高峰。
  • 虚拟机资源瓶颈
    虚拟机分配的CPU核心数不足、内存过少,或是宿主机存在资源竞争,都会限制Jenkins的运行效率。通过VM监控工具查看CPU使用率、内存分配情况,必要时调整VM的资源配额。

内容的提问来源于stack exchange,提问作者Tamar Dahan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 09:27:39