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

功能入口

请按照以下步骤进入实时诊断功能。

  1. 登录 EDAS 控制台
  2. 在左边导航栏选资源管理 > 集群,在集群详情页面的应用列表单击具体应用名称。
    您还可以在左侧导航栏中选择应用管理 > 应用列表,在应用管理页面单击具体容器服务 K8s 集群应用。
  3. 在应用详情的左边导航栏中选择应用诊断 > 线程分析

进行线程分析

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

pg_am_threads_profiling

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

pg_am_method_stack