日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

快速入門Java線程棧分析

本文將演示如何通過ATP的Java線程棧分析功能,分析Java應用中線程的運行情況。

1. 生成數(shù)據(jù)源并上傳至ATP

a. 使用JDK中自帶的jstack命令創(chuàng)建Java應用的線程快照,如下:

# 生成線程快照并輸出到 jstack.log
$ jstack <進程號> > jstack.log

b. 創(chuàng)建成功后,將文件上傳至ATP并分析。

參考:2.2 生成Java棧文件

2. 使用ATP線程棧分析

下面以 spring-petclinic 應用為例,在這個項目啟動后創(chuàng)建線程棧快照并上傳至ATP進行分析。

以下是各視圖的基本介紹。

視圖選項

簡介

基本信息

基本信息視圖中包含:

  • 快照生成的時間(非上傳時間)

  • JVM 版本信息

  • JNI 引用數(shù)量

  • 線程死鎖數(shù)量

同時會按照線程狀態(tài)和類型對所有線程進行分類。

線程信息

線程信息視圖中包含所有線程的信息:

  • CPU 等

說明

部分信息(如 CPU,Elapsed)只有在高版本的 JDK 中才會輸出。

用戶可以通過線程名、線程 id 等字段進行查找。

線程池

線程池視圖基于線程名對所有線程進行分類,并按狀態(tài)統(tǒng)計數(shù)量分布,可以用于協(xié)助排查線程泄漏相關(guān)的問題。

方法熱度

方法熱度視圖使用火焰圖可視化所有的線程棧,幫助開發(fā)者分析應用中可能存在的熱點行為。

說明

火焰圖是按照棧的數(shù)量進行聚合,越寬不一定代表是熱點方法,比如很多線程阻塞在同一個Java方法上是正常的現(xiàn)象。

3. 結(jié)論

通過ATP Java線程棧分析功能,可以幫助開發(fā)者分析應用中線程的運行情況。