1、jps(jdk安装目录/bin)
显示指定系统中所有的HotSpot虚拟机进程。

jps -v
4、jvm监控工具
显示进程号、MainClassName、启动时的JVM参数。

2、jmap(jdk安装目录/bin)
生成虚拟机的内存快照(headdump文件)。

jmap -histo <pid>
4、jvm监控工具
[C 表示char[]
[S 表示short[]
[I 表示int[]
[B 表示byte[]
[[I 表示int[][]
显示进程堆中对象的统计信息,包括类、实例数量和容量。

jmap -permstat <pid>
4、jvm监控工具
class_loader:运行实用程序时快照上的类加载器对象的地址
classes:加载的数量
bytes:由此类加载器加载的所有类的元数据所消耗的大致字节数
parent_loader:父类加载器的地址(如果有的话)
alive? :一个活的或死是否加载对象的指示将被垃圾收集在未来
type :这个类加载器的类名
显示进程永久区中对象的统计信息。

jmap -heap <pid>
4、jvm监控工具
显示进程堆区详情。

jmap -dump:format=b,file=JavaHeapDump_.hprof <pid>
抓取进程堆镜像。

3、jstat(jdk安装目录/bin)
收集HotSpot虚拟机各方面的运行数据。

jstat -class <pid> 250 10
4、jvm监控工具
监视进程类加载和卸载数量以及时间,每隔250ms输出一次,一共输出10次

jstat -gc <pid> 100 10
4、jvm监控工具
S0C Current survivor space 0 capacity (KB).
当前survivor space 0容量
S1C Current survivor space 1 capacity (KB).
survivor space 1容量
S0U Survivor space 0 utilization (KB).
Survivor space 0 利用情况
S1U Survivor space 1 utilization (KB).
Survivor space 1 利用情况
EC Current eden space capacity (KB).
当前新生代eden空间容量
EU Eden space utilization (KB).
新生代eden空间利用情况
OC Current old space capacity (KB).
当前年老代空间容量
OU Old space utilization (KB).
年老代利用情况
PC Current permanent space capacity (KB).
当前永生代空间容量
PU Permanent space utilization (KB).
永生代空间利用情况
YGC Number of young generation GC Events.
新生代GC事件次数
YGCT Young generation garbage collection time.
新生代GC耗时
FGC Number of full GC events.
full GC次数
FGCT Full garbage collection time.
full gc耗时
GCT Total garbage collection time.
总GC耗时
显示进程java堆状况,包括Eden区,2个survivor区,老年代,永久代等的容量,已经使用的空间,GC次数时间等统计,每隔100ms输出一次,一共输出10次。

4、jstack(jdk安装目录/bin)
显示虚拟机的线程快照。

jstack -l <pid>
4、jvm监控工具
输出进程线程堆栈快照,并显示关于锁的附加信息(-l)。

5、jinfo(jdk安装目录/bin)
显示虚拟机的配置信息。
jinfo [option] <pid>

6、jconsole(jdk安装目录/bin)
JMX的可视化管理工具,推荐。

附带:
输出<pid>进程的CPU使用情况
top -b -n 3 -p <pid>
显示线程列表,并按CPU占用排序
ps -mp <pid> -o THREAD,tid,time | sort -rn

相关文章: