1、jps(JVM Process Status Tool)--显示所有HotSpot虚拟机进程
举例:
jps -q (只查询虚拟机进程ID)
jps -m (启动时传递main()的参数)
jps -l(输出类全名,或者jar路径)
jps -v(输出虚拟机进程启动参数)
2、jstat(JVM Statistics MOnitoring Toll)--收集虚拟机运行数据
举例:
1)每秒查询1次进程21888垃圾收集情况,一共查询20次
jstat -gc 21888 1000 20
jstat -gccapacity 21888 1000 20 (最大最小空间)
jstat -gcutil 21888 1000 20 (占的百分比)
jstat -gccause 21888 1000 20 (额外输出导致上一次CG产生的原因)
2)被JIT编译过的方法
jstat -printcompilation 21888 1000 20
3、jinfo(Configuration Info for java)--显示虚拟机配置
举例:
1)查看CMSInitiatingOccupancyFraction的参数值
jinfo -flag CMSInitiatingOccupancyFraction 21888 (1.6以上java -XX:PrintFlagsFinal)
2)查询虚拟机进程系统属性
jinfo -sysprops 21888
4、jmap(Memory Map for Java)--生成虚拟机内存快照
举例:
1)导出虚拟机进程的dump文件(MemoryAnalyzer,jhat查看)
jmap -dump:live,format=b,file=d:/jvm.bin 21888
2)打印进程堆信息
jmap -heap 21888
3)显示堆中的对象的统计的前10条
jmap -histo 21888 | head 10
5、jhat(Java Heap Dump Browser)--分析heapdump文件
举例:
1)查看dump文件
jhat d:jvm.bin(在浏览器查看,默认端口7000)
6、jstack (Stack Trace for Java)--显示虚拟机线程快照
1)显示关于锁的附加信息
jstack -l 21888
2)显示本地方法C/C++的堆栈
jstack -m 21888