JVM的参数类型
- 标准参数
- -help
- -server , -client
- -version . -showversion
- -cp , -classpath
- X参数
- 非标准化参数(在各个JDK版本中可能会变,但是变动比较小)
- -Xint : 解释执行
- -Xcomp : 编译执行 第一次使用就编译成本地代码
- -Xmixed :混合模式,JVM自己来决定是否编译成本地代码
- XX参数
- 非标转化参数
- 相对不稳定
- 主要用于JVM调优和Debug
- 参数分类
- Boolean类型 格式:-XX:[+-]<name> 表示启用或者禁用name属性。比如-XX+UseConcMarkSweepGc , -XX:+UseG1Gc ([+]号代表启用,[-]代表禁用)
- 非Boolean类型 格式:-XX:<name>=<value>表示name属性的值是value.比如 -XX:MaxGcPauseMillis=500 , -XX:GCTimeRatio=19
- -Xmx -Xms
- 不是X参数,而是XX参数
- -Xms 等价于 -XX:InitialHeapSize 初始化的堆大小
- -Xmx 等价于 -XX:MaxHeapSize 最大化的堆大小
- jinfo -flag MaxHeapSize <进程编号> -XX:MaxHeapSize=994050048 运行时最大的堆大小
- jinfo -flag ThreadStackSize <进程编号> -XX:ThreadStackSize=1024K 启动一个线程需要的内存大小