国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JVM:如何分析線程堆棧

2019-11-10 18:16:37
字體:
來源:轉載
供稿:網友

https://www.oschina.net/translate/jvm-how-to-analyze-thread-dump

JVM 線程堆棧——它是什么?

JVM線程堆棧是一個給定時間的快照,它能向你提供所有被創建出來的java線程的完整清單.

每一個被發現的Java線程都會給你如下信息:

– 線程的名稱;經常被中間件廠商用來識別線程的標識,一般還會帶上被分配的線程池名稱以及狀態 (運行,阻塞等等.)

      – 線程類型 & 優先級,例如 : daemon PRio=3 ** 中間件程序一般以后臺守護的形式創建他們的線程,這意味著這些線程是在后臺運行的;它們會向它們的用戶提供服務,例如:向你的Java EE應用程序 **

       – Java線程ID,例如 : tid=0x000000011e52a800 ** 這是通過 java.lang.Thread.getId() 獲得的Java線程ID,它常常用自增長的長整形 1..n** 實現

  – 原生線程ID,例如 : nid=0x251c** ,之所以關鍵是因為原生線程ID可以讓你獲得諸如從操作系統的角度來看那個線程在你的JVM中使用了大部分的CPU時間等這樣的相關信息. **

       – Java線程狀態和詳細信息,例如: waiting for monitor entry [0xfffffffea5afb000] java.lang.Thread.State: BLOCKED (on object monitor)** 可以快速的了解到線程狀態極其當前阻塞的可能原因 **

        – Java線程棧跟蹤;這是目前為止你能從線程堆棧中找到的最重要的數據. 這也是你花費最多分析時間的地方,因為Java棧跟蹤向提供了你將會在稍后的練習環節了解到的導致諸多類型的問題的根本原因,所需要的90%的信息。

– Java 堆內存分解; 從HotSpot VM 1.6版本開始,在線程堆棧的末尾處可以看到HotSpot的內存使用情況,比如說Java的堆內存(YoungGen, OldGen) & PermGen 空間。這個信息對分析由于頻繁GC而引起的問題時,是很有用的。你可以使用已知的線程數據或模式做一個快速的定位。

HeapPSYoungGen      total 466944K, used 178734K [0xffffffff45c00000, 0xffffffff70800000, 0xffffffff70800000)eden space 233472K, 76% used [0xffffffff45c00000,0xffffffff50ab7c50,0xffffffff54000000)from space 233472K, 0% used [0xffffffff62400000,0xffffffff62400000,0xffffffff70800000)to   space 233472K, 0% used [0xffffffff54000000,0xffffffff54000000,0xffffffff62400000)PSOldGen        total 1400832K, used 1400831K [0xfffffffef0400000, 0xffffffff45c00000, 0xffffffff45c00000)object space 1400832K, 99% used [0xfffffffef0400000,0xffffffff45bfffb8,0xffffffff45c00000)PSPermGen       total 262144K, used 248475K [0xfffffffed0400000, 0xfffffffee0400000, 0xfffffffef0400000)object space 262144K, 94% used [0xfffffffed0400000,0xfffffffedf6a6f08,0xfffffffee0400000)

線程堆棧信息大拆解

為了讓大家更好的理解,給大家提供了下面的這張圖,在這張圖中將HotSpot VM上的線程堆棧信息和線程池做了詳細的拆解,如下圖所示:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永顺县| 汝南县| 浮梁县| 黄陵县| 南通市| 永清县| 达拉特旗| 齐齐哈尔市| 长阳| 兴和县| 威信县| 明光市| 长兴县| 元谋县| 平谷区| 绥滨县| 观塘区| 锡林郭勒盟| 民丰县| 类乌齐县| 河北省| 屏山县| 蒙山县| 通许县| 德惠市| 鄂温| 涟源市| 通化市| 南充市| 七台河市| 信阳市| 青铜峡市| 庆城县| 沈阳市| 宁阳县| 桂林市| 谷城县| 全椒县| 勐海县| 博野县| 迭部县|