1. 程式人生 > >JVM分析工具鏈(三)

JVM分析工具鏈(三)

5 jstat, JVM統計監測工具。

jstat -gc 11989 500 4

上邊的命令用來統計garbage collection的情況,11989是vmid,不是pid,程序號,這點需要注意。

上述命令會列出很多列,每個列的意思如下:

S0C、S1C、S0U、S1U:Survivor 0/1區容量(Capacity)和使用量(Used)
EC、EU:Eden區容量和使用量
OC、OU:年老代容量和使用量
PC、PU:永久代容量和使用量
YGC、YGT:年輕代GC次數和GC耗時
FGC、FGCT:Full GC次數和Full GC耗時

GCT:GC總耗時

順便列出hotspot虛擬機器經典的記憶體分配為:

堆記憶體 = 年輕代 + 年老代 + 永久代
年輕代 = Eden區 + 兩個Survivor區(From和To)

6 hprof, heap profiling tool, 展示CPU使用率,堆記憶體的使用情況。

java -agentlib:hprof[=options] your_application
java -Xrunprof[:options] your_application

javac -J-agentlib:hprof[=options] your_application

雖然在JVM啟動引數中加入-Xrunprof:heap=sites引數可以生成CPU/Heap Profile檔案,但對JVM效能影響非常大,不建議在線上伺服器環境使用。

作者:hongchangfirst