1、jps
查看java进程
2、jinfo
实时查看和调整JVM配置参数
查看某个java进程的name属性的值
jinfo -flag name PID
jinfo -flag MaxHeapSize PID
jinfo -flag UseG1GC PID
查看曾经赋过值的一些参数
jinfo -flags PID
3、 jstat
查看虚拟机性能统计信息
查看类装载信息
jstat -class PID 1000 10 查看某个java进程的类装载信息,每1000毫秒输出一次,共输出10 次
查看垃圾收集信息
jstat -gc PID 1000 10
4、jstack
查看线程堆栈信息
jstack PID
导出jstack线程dump文件(通过perfma解析)
perfma地址 : https://memory.console.perfma.com/
jstatck PID > 生成的文件名
5、jmap
1)dump出堆内存相关信息
jmap -dump:format=b,file=heap.hprof PID
2)打印堆栈信息
-XX:+PrintFlagsFinal -Xms300M -Xmx300M
3)查看堆信息
jmap -heap PID
4)在发生堆内存溢出的时候,自动dump出该文件
一般在开发中,JVM参数可以加上下面两句,这样内存溢出时,会自动dump出该文件
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=heap.hprof