jvm故障處理工具

jps

可以查看具體的虛擬機的進程
在這裏插入圖片描述

jstat

jstat -gc 進程號

在這裏插入圖片描述

  • S0C:第一個倖存區的大小
  • S1C:第二個倖存區的大小
  • S0U:第一個倖存區的使用大小
  • S1U:第二個倖存區的使用大小
  • EC:伊甸園區的大小
  • EU:伊甸園區的使用大小
  • OC:老年代大小
  • OU:老年代使用大小
  • MC:方法區大小
  • MU:方法區使用大小
  • CCSC:壓縮類空間大小
  • CCSU:壓縮類空間使用大小
  • YGC:年輕代垃圾回收次數
  • YGCT:年輕代垃圾回收消耗時間
  • FGC:老年代垃圾回收次數
  • FGCT:老年代垃圾回收消耗時間
  • GCT:垃圾回收消耗總時間

jstat -gcnew 進程號

在這裏插入圖片描述

  • S0C:第一個倖存區大小
  • S1C:第二個倖存區的大小
  • S0U:第一個倖存區的使用大小
  • S1U:第二個倖存區的使用大小
  • TT:對象在新生代存活的次數
  • MTT:對象在新生代存活的最大次數
  • DSS:期望的倖存區大小
  • EC:Eden區的大小
  • EU:Eden區的使用大小
  • YGC:年輕代垃圾回收次數
  • YGCT:年輕代垃圾回收消耗時間

在這裏插入圖片描述

  • MC:方法區大小
  • MU:方法區使用大小
  • CCSC:壓縮類空間大小
  • CCSU:壓縮類空間使用大小
  • OC:老年代大小
  • OU:老年代使用大小
  • YGC:年輕代垃圾回收次數
  • FGC:老年代垃圾回收次數
  • FGCT:老年代垃圾回收消耗時間
  • GCT:垃圾回收消耗總時間

jstack

jstack -l 進程號 >> error.log 輸出當前線程的堆棧狀態
-l :除堆棧之外,顯示關於鎖的附加信息
-F:強制輸出線程堆棧
-m:如果調用本地方法的話,可以顯示C/C++的堆棧

jmap

jmap -dump:format=b,file=heapdump.phrof pid

以hprof二進制格式轉儲Java堆到指定filename的文件中。live子選項是可選的。如果指定了live子選項,
堆中只有活動的對象會被轉儲。想要瀏覽heap dump,你可以使用jhat(Java堆分析工具)讀取生成的文件。

這個命令執行,JVM會將整個heap的信息dump寫入到一個文件,heap如果比較大的話,
就會導致這個過程比較耗時,並且執行的過程中爲了保證dump的信息是可靠的,所以會暫停應用,
線上系統慎用。

jhat heapdump.phrof 解析文件就可以看到堆棧信息快照文件
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章