jps
jps与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号
jconsole
jconsole:一个java GUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM。
jmap
打印出某个java进程(使用pid)内存内的所有'对象'的情况(如:产生那些对象,及其数量)。
java -heap pid #显示Java堆详细信息
java -histo pid #显示堆中对象的统计信息
jstat
jstat是一个极强的监视VM内存工具,可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。
jstat -class pid 查看加载class的数量,及所占空间等信息
jstat -compiler pid 查看VM实时编译的数量等信息
jstat -gc pid 查看gc情况
S0C:第一个幸存区的大小
S1C:第二个幸存区的大小
S0U:第一个幸存区的使用大小
S1U:第二个幸存区的使用大小
EC:伊甸园区的大小
EU:伊甸园区的使用大小
OC:老年代大小
OU:老年代使用大小
MC:方法区大小
MU:方法区使用大小
CCSC:压缩类空间大小
CCSU:压缩类空间使用大小
YGC:年轻代垃圾回收次数
YGCT:年轻代垃圾回收消耗时间
FGC:老年代垃圾回收次数
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间
jstat -gccapacity pid 查看gc中内存使用情况
NGCMN:新生代最小容量
NGCMX:新生代最大容量
NGC:当前新生代容量
S0C:第一个幸存区大小
S1C:第二个幸存区的大小
EC:伊甸园区的大小
OGCMN:老年代最小容量
OGCMX:老年代最大容量
OGC:当前老年代大小
OC:当前老年代大小
MCMN:最小元数据容量
MCMX:最大元数据容量
MC:当前元数据空间大小
CCSMN:最小压缩类空间大小
CCSMX:最大压缩类空间大小
CCSC:当前压缩类空间大小
YGC:年轻代gc次数
FGC:老年代GC次数
jstat -gcnew pid 查看新生代信息
jstat -gcnewcapacity pid 查看新生代内存占用情况
jstat -gcold pid 查看老年代信息
jstat -gcoldcapacity pid 查看老年代内存占用情况
jstat -gcmetacapacity pid 查看元数据区内存占用情况
jstat -util pid 统计gc信息统计
jstack
jstack pid 查看jvm线程运行状态,是否有死锁现象等等信息
jstack -F pid pid无法响应时,强制打印堆栈
jstack -l pid 打印关于锁的附加信息
jstack -m pid 混合模式输出(包括java和本地c/c++片段)堆栈
参考链接:
https://blog.csdn.net/wangshuminjava/article/details/80928354
https://www.cnblogs.com/lizhonghua34/p/7307139.html
http://www.cnblogs.com/ggjucheng/archive/2013/04/16/3024892.html
原文出处:https://www.cnblogs.com/cord/p/9455147.html