一、参数类型:
1、标准参数
1)不随着JDK版本的不同而改变的,如java -version,java -help
2、-X参数
1)非标准参数,如java -Xint -version,java -xmixed -version
3、-XX参数
1)使用最多,进行相关设置
2)bool类型:-XX:[+/-] ,+或-进行开启或关闭,如 -XX:+UseG1GC(开启G1gc)
3)-XX:<name>=<value>类型:-XX:InitialHeapSize=100M(设置堆内存大小)
4、其他参数
1)-XX的缩写
2)-Xms100M 等同于 -XX:InitialHeapSize=100M,如:-Xmx100M、-Xss100等
二、设置方式
三、JVM命令
1、jps:查看当前的java进程,如:jps -l,jps
2、jinfo:查看某个java进程目前的参数设置情况。如:jinof -flag UseG1GC PID, jinfo -flag MaxHeapSize PID,jinfo -flags
3、jstat:查看java进程统计性能。如:jstat -class PID 1000 10(查看当前进程类装载的情况,1000毫秒打印一次,打印10次),jstat -gc PID 1000 10(查看gc情况)
4、jstack:查看当前java进程的堆栈信息,如:jstatck PID,可以排查死锁问题
5、jmap(比较常用):打印出堆栈存储快照,如:jmap -heap PID,
dump出堆内存相关信息:jmap -dump:format=b,file=heap.hprof PID
四、常用工具
jconsole
jvisualvm
arthas
mat/perfma:内存相关信息
gceasy.io/gcviewer