【问题标题】:Jenkins master (built-in) node high CPU usageJenkins 主(内置)节点 CPU 使用率高
【发布时间】:2022-06-23 09:38:07
【问题描述】:

我们有一个 Jenkins 服务器 (2.319.2-lts-alpine) 在 AWS EC2 c5.2xlarge 实例的 docker 容器中运行,该实例有 8 个 vCPU。 这个 Jenkins 服务器有一个主节点(现在称为内置),它设置了 #0 执行器,因为我们不想在那里运行任何构建。它仅用于通过标签将队列中的构建分配给各个从节点。

现在,这个内置节点在 JavaMelody 监控中不断显示 100% CPU 百分比,导致 Jenkins 有时响应缓慢。我们最终会在白天发生很多 504 超时。

这些是我们为内置节点设置的 JVM 选项:"-XX:+UseContainerSupport -XX:MaxRAMPercentage=60.0 -XX:InitialRAMPercentage=50.0 -Djenkins.install.runSetupWizard=false -Dmail.smtp.starttls.enable=true -Dmail.smtp.ssl.protocols=TLSv1.2 -Dhudson.security.csrf.DefaultCrumbIssuer.EXCLUDE_SESSION_ID=true -Dorg.jenkinsci.plugins.docker.workflow.client.DockerClient.CLIENT_TIMEOUT=300 -Xloggc:$JENKINS_HOME/gc-%t.log -XX:NumberOfGCLogFiles=5 -XX:+UseGCLogFileRotation -XX:GCLogFileSize=20m -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintGCCause -XX:+PrintTenuringDistribution -XX:+PrintReferenceGC -XX:+PrintAdaptiveSizePolicy -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=20 -XX:+UnlockDiagnosticVMOptions -XX:G1SummarizeRSetStatsPeriod=1 -Djenkins.CLI.disabled=true -Dpermissive-script-security.enabled=no_security -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=0 -Djava.util.logging.config.file=/opt/jenkins/logging.properties"

这是我们运行“htop”的内容:

我注意到即使 CPU 百分比有时会降低,但不会降低那么多,并且如果有任何作业进入队列,它会立即上升到 100%。

我已经花了很多时间在谷歌上搜索试图找到任何可行的方法,但我找不到 CPU 使用率总是如此之高的原因。 有什么想法可以帮我解决这个问题吗?

【问题讨论】:

  • 您可能需要进行线程转储并进一步分析。

标签: jenkins


【解决方案1】:

我们遇到了一个非常相似的问题,设置几乎相同。我们的 Jenkins 内置也有 0 个执行器,但即便如此,它也需要一些有限的资源来配置代理来运行作业。我们发现我们的 CPU 受到了限制,以至于即使配置步骤(包括 jenkins-shared-library 的 git checkout)也会停止,导致更多作业在同一步骤堆积。

我们已经尝试了一些方法,例如:

  • 清理旧作业
  • 清理不需要的指纹

这似乎确实帮助我们在一段时间内低于限制阈值,但它总是会慢慢回升,我们会陷入同样的​​境地。

我肯定会建议开始这两个清理工作,并查看您的工作保留率,看看您是否保留了不需要的工作。

但总体而言,仍在寻找更好的解决方案...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-14
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 2014-05-07
    • 2022-07-26
    • 2020-11-19
    • 2015-10-06
    相关资源
    最近更新 更多