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

Azure App Service中DemoApiApp的Kudu应用高CPU使用率问题咨询

排查Azure App Service单实例Kudu高CPU问题(关联Web Job)

我们的应用存在高CPU使用率情况,经诊断得到以下信息:在您的App Service计划的4个实例中,仅单个实例上的'DemoApiApp'对应的Kudu应用检测到高CPU使用率(39.1%),该受影响实例在此期间的整体CPU峰值使用率达87.8%。Kudu进程高CPU使用率通常由Web Job使用引发。受影响实例名称:RD0003FF1C445A

针对这个单实例的Kudu高CPU问题,结合你提到的Web Job关联线索,我整理了一套逐步排查的方案,你可以跟着一步步定位问题:

  • 第一步:先锁定该实例上的Web Job状态
    直接登录受影响实例的Kudu控制台(地址是https://DemoApiApp.scm.azurewebsites.net,登录后在顶部切换到实例RD0003FF1C445A),然后:

    1. 进入左侧菜单的WebJobs页面,先看持续运行的Web Job(Continuous类型)——这类Job如果逻辑有问题,很容易长期占用CPU;再检查最近触发的触发式Web Job(Triggered类型),看是否有某个Job在CPU飙升的时间段反复执行。
    2. 点开可疑的Web Job,查看它的日志目录(路径大概是D:\home\site\wwwroot\App_Data\jobs\<job类型>\<job名称>),日志里如果有无限循环的记录、大量重复的操作日志,或者报错堆栈,大概率就是问题根源。
  • 第二步:深挖Kudu进程的CPU细节
    在Kudu的Process Explorer页面,找到Kudu相关的进程(通常是对应scm站点的w3wp.exe,或者scm.exe本身),看它的实时CPU占比,同时留意它的子进程——如果是Web Job引发的,一般能看到Web Job的进程(比如dotnet.exe或者自定义的exe)和Kudu进程关联,而且这个Web Job进程的CPU本身也会很高。

  • 第三步:检查Web Job的代码逻辑
    如果已经定位到可疑的Web Job,重点排查这几个点:

    • 有没有无限循环?比如循环逻辑里没有正确的退出条件,或者触发机制有问题导致一直重复执行。
    • 数据处理是否低效?比如一次性加载几万条数据到内存,或者频繁调用数据库/外部接口却没有做缓存,导致CPU一直处于繁忙状态。
    • 有没有资源泄漏?比如数据库连接、文件流用完没释放,长期积累下来导致进程资源占用越来越高。
  • 第四步:验证实例本身的异常
    因为只有这一个实例出问题,可能是该实例上的Web Job部署异常,或者实例本身有资源问题:

  1. 先试试单独重启这个实例——在Azure门户的App Service页面,进入“实例”选项卡,找到RD0003FF1C445A,选择重启,之后观察CPU是否回落。
  2. 如果重启后问题又出现,检查这个实例的部署历史,看看最近有没有针对它的特殊部署或者配置变更,会不会是部署过程中出了问题。
  • 第五步:开详细监控抓线索
    如果前面的步骤还没找到问题,就开更详细的日志来跟踪:
    • 在Azure门户开启App Service的详细诊断日志,包括应用日志、Web服务器日志,把日志级别设为Verbose。
    • 用Azure Monitor的进程指标,专门跟踪RD0003FF1C445A实例上Kudu和Web Job进程的CPU、内存趋势,精准定位CPU飙升的时间点和对应的事件。

如果以上步骤还是没头绪,可以先临时停止可疑的Web Job,看看CPU会不会降下来——要是降了,就实锤是这个Web Job的问题,再针对性优化代码或者调整它的触发策略就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:03:17