全部產品
Search
文件中心

Application Real-Time Monitoring Service:線程分析

更新時間:Jul 06, 2024

線程分析功能提供線程粒度的CPU耗時和每類線程數量的統計,並且每5分鐘記錄一次線程的方法棧並彙總,可真實還原代碼執行過程,協助您快速定位線程問題。當發現叢集的CPU使用率過高,或者出現大量慢方法時,可以通過線程分析功能找到消耗CPU最多的線程或方法。

功能入口

  1. 登入ARMS控制台,在左側導覽列選擇應用監控 > 應用列表

  2. 應用列表頁面頂部選擇目標地區,然後單擊目標應用程式名稱。

    說明

    語言列的表徵圖含義如下:

    Java表徵圖:接入應用監控的Java應用。

    image:接入應用監控的Golang應用。

    -:接入Managed Service for OpenTelemetry的應用。

  3. 在左側導覽列中選擇應用診斷 > 線程分析

進行線程分析

線程分析頁面的左側列表展示了應用的全部線程,您可以根據CPU耗時統計快速發現異常線程。選中某一異常線程後,再根據右側的CPU耗時線程數曲線圖分析CPU耗時與線程數變化,例如分析每分鐘的線程總數是否過多。

pg_am_threads_profiling

您還可以單擊異常線程的方法棧,查看指定時間內的真實運行方法棧,例如查看處於BLOCKED狀態的線程對應的方法,從而最佳化指定程式碼片段,以便降低CPU使用率。

pg_am_method_stack

如果您的探針版本為2.7.3.5或以上版本,ARMS通過持續剖析能力提供了資料更準確的線程CPU使用方法棧資訊,效果如下圖所示,更多資訊,請參見持續剖析

image

說明

如果單擊方法棧後,顯示無資料,排查方法如下:

  • 如果探針版本為2.7.3.5以下,則在應用配置 > 自訂配置頁簽的線程設定地區查看線程分析方法棧開關是否開啟。如未開啟,則無法記錄方法棧資訊;如已開啟,則每5分鐘採集一次方法棧資訊。

  • 如果探針版本為2.7.3.5及以上,則在應用配置 > 自訂配置頁簽的持續剖析地區查看總開關CPU熱點開關是否開啟。如未開啟,則無法記錄方法棧資訊。