一、参数查询
执行:
java -XX:+PrintFlagsFinal
注意:
= 表示默认值
:= 表示被JVM或者用户修改后的值
二、参数分类
1、标准参数
-version
-help
-server
-cp
2、-X参数(非标准,JDK各个版本中可能会变动)
-Xint 解释执行
-Xcomp 第一次使用就编译成本地代码
-Xmixed 混合模式,JVM自己来决定
3、-XX参数(非标准,相对不稳定,主要用于JVM调优)
1)Boolean类型
格式:
-XX:[+-]<name>
注意:
+ 表示启用name属性
+ - 表示禁用name属性
示例:
-XX:+UseConcMarkSweepGC 表示启用CMS类型的垃圾回收器
-XX:+UseG1GC 表示启用G1类型的垃圾回收器
2)非Boolean类型
格式:
-XX<name>=<value>
注意:
name属性的值是value
示例:
-XX:MaxGCPauseMillis=500
4、其他参数(简写参数)
-Xms1000M 等价于 -XX:InitialHeapSize=1000M
-Xmx1000M 等价于 -XX:MaxHeapSize=1000M
-Xss100 等价于 -XX:ThreadStackSize=100
三、常用参数
四、设置参数的常见方式
1、开发工具:IDEA,eclipse 2、运行jar:java -XX:+UseG1GC xxx.jar 3、Web容器:tomcat脚本 4、通过jinfo实时调整某个java进程的参数(参数只有被标记为manageable的flags可以被实时修改)
|