官网:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html#BGBCIEFC
标准参数
如: -version,-help,-server,-cp
-X参数
非标准参数,也就是在JDK各个版本中可能会变动。
如:
- -Xint 解释执行
- -Xcomp 第一次使用就编译成本地代码
- -Xmixed 混合模式,JVM自己来决定
- -XX参数
使用得最多的参数类型
非标准化参数,相对不稳定,主要用于JVM调优和Debug
Boolean类型
格式:-XX:[+-]
+或-表示启用或者禁用name属性。 比如:-XX:+UseConcMarkSweepGC 表示启用CMS类型的垃圾回收器。
-XX:+UseG1GC 表示启用G1类型的垃圾回收器
非Boolean类型
格式:-XX
= 表示name属性的值是value。 比如:-XX:MaxGCPauseMillis=500。
其他参数
-Xms1000等价于-XX:InitialHeapSize=1000
-Xmx1000等价于-XX:MaxHeapSize=1000
-Xss100等价于-XX:ThreadStackSize=100
设置参数
运行jar包的时候:java -XX:+UseG1GC xxx.jar
web容器比如tomcat,可以在脚本中的进行设置 通过jinfo实时调整某个java进程的参数(参数只有被标记为manageable的flags可以被实时修改)