jvm性能監控工具

jvm可能存在的問題:
    OutOfMemoryError:內存不足
    內存泄露
    線程死鎖
    鎖競爭(Lock Contention)
    Java消耗過多的CPU

1、jps(java virtual machine process status tool)
監控jvm進程轉檯信息
jps [options] [hostid]
    -m:輸出傳入main方法的參數
    -l:顯示main類或jar文件的徹底限定名稱
    -v:顯示爲jvm虛擬機制定的參數

2、jstack:查看某個java進程內的線程堆棧信息
jstack [option] pid
    -l long listings:輸出完整的鎖信息
    -m 混合模式,即會輸出java堆棧及C/C++堆棧信息

3、jmap和jhat
    jmap:jvm memory map 查看堆內存使用狀況
    jhat:java heap analysis tool
    jmap [options] pid
        -heap:詳細退內存空間使用狀態信息
        -histo[:live]查看堆內存中的對象數目、大小統計結果

4、jstat:jvm統計監測工具
jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
其中<option>爲必須提供的選項,全部可用選項可以使用jstat -options列出:
-class
-compiler
-gc
-gccapacity
-gccause
-gcmetacapacity
-gcnew
-gcnewcapacity
-gcold
-gcoldcapacity
-gcutil
-printcompilation
字段意義(gc):
SOC,S1C,S0U,S1U:C表示容量,U表示已用量
EC,EU:eden區域的容量和已用量
OC,OU
PC,PU
YGC,YGT:新生代的GC次數和耗時
FGC,FGCT:FULL GC的次數和耗時
GCT:GC總耗時

java

相關文章
相關標籤/搜索