线程分析功能提供线程粒度的CPU耗时和每类线程数量的统计,并且每5分钟记录一次线程的方法栈并聚合,可真实还原代码执行过程,帮助您快速定位线程问题。当发现集群的CPU使用率过高,或者出现大量慢方法时,可以通过线程分析功能找到消耗CPU最多的线程或方法。

功能入口

  1. 登录EDAS控制台
  2. 按需执行以下任一操作来进入应用的详情页面:
    • 在左侧导航栏选择资源管理 > 容器服务K8s集群(或资源管理 > Serverless K8s集群),在顶部菜单栏选择地域并在页面上方选择微服务空间,在容器服务K8s集群Serverless K8s集群页面单击集群ID,然后在集群详情页面的应用列表区域单击具体应用名称。
    • 在左侧导航栏单击应用列表,在顶部菜单栏选择地域并在页面上方选择微服务空间,在集群类型下拉列表中选择容器服务/Serverless K8s集群,然后单击目标应用名称。
  3. 在应用详情的左边导航栏中选择监控 > 应用诊断-线程分析

进行线程分析

线程分析页面的左侧列表展示了应用的全部线程,您可以根据CPU耗时统计快速发现异常线程。选中某一异常线程后,再根据右侧的CPU耗时线程数曲线图分析CPU耗时与线程数变化,例如分析每分钟的线程总数是否过多。

pg_am_threads_profiling

您还可以单击异常线程的方法栈,查看指定时间内的真实运行方法栈,例如查看处于BLOCKED状态的线程对应的方法,从而优化指定代码段,以便降低CPU使用率。

pg_am_method_stack