官网手册:

  • https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/index.html
  • https://docs.oracle.com/javase/8/docs/technotes/tools/unix/toc.html

jps

列出指标零碎上已检测到的Java虚拟机(JVM)

jps -lvm

输入:

jstat

监督Java虚拟机(JVM)统计信息
# 每1000ms输入一次gc统计信息,循环10次 jstat -gc 7 1000 10

后果:

垃圾收集的堆统计信息:

S0C:以后生存空间0容量(kB)。
S1C:以后生存空间1的容量(kB)。
S0U:幸存者空间0利用率(kB)。
S1U:幸存者空间1利用率(kB)。
EC:以后Eden空间容量(kB)。
EU:Eden空间利用率(kB)。
OC:以后的旧空间容量(kB)。
OU:旧空间利用率(kB)。
MC:元空间容量(kB)。
MU:元空间利用率(kB)。
CCSC:压缩的类空间容量(kB)。
CCSU:应用的压缩类空间(kB)。
YGC:年轻一代垃圾收集事件的数量。
YGCT:年轻一代垃圾回收工夫。
FGC:残缺GC事件的数量。
FGCT:残缺的垃圾收集工夫。
GCT:总垃圾收集工夫。

其余选项options

optionsaction
-class类加载器统计信息
-compilerJava HotSpot VM即时编译器统计信息
-gc垃圾收集的堆统计信息
-gccapacity内存池的生成和空间容量
-gcutil垃圾收集统计信息摘要
-gccause-gcutil 信息雷同, 但包含上一个和以后垃圾收集事件(如果有)的起因
-gcnew新一代统计数据
-gcnewcapacity新一代空间大小统计信息
-gcold老一代和元空间行为统计
-gcoldcapacity老一代和元空间大小统计信息
-gcmetacapacity元空间大小统计信息
-printcompilationJava HotSpot VM编译器办法统计信息

jstack

打印Java过程,外围文件或近程调试服务器的Java线程堆栈跟踪
# 打印全副线程状态 jstack 7

jmap

打印Java过程,外围文件或近程调试服务器的Java线程堆栈跟踪
# 列出占用内存最大的几个对象 jmap -histo 7 | head -n 15
留神: 应用 jmap -histo:live 或者 jmap -dump:live 都会触发Full GC