jinfo
jinfo(configuration info for java) 实时查看和调整Jvm参数
-
用法
jinfo -flag PID
[root@guanzc-206 ~]# jinfo -flag MaxTenuringThreshold 3272 -XX:MaxMetaspaceSize=18446744073709486080 //最大元空间大小 [root@guanzc-206 ~]# jinfo -flag MaxTenuringThreshold 3272 -XX:MaxTenuringThreshold=15 //新生代中对象经过的最大GC次数
-
jvm 参数调整
参数调整分为布尔类型和kv 两种
-
布尔类型
jinfo -flag [+|-] PID # + 启用参数 - 关闭
[root@guanzc-206 ~]# jinfo -flag PrintGCDetails 16300 # 查看参数是否开启 -XX:-PrintGCDetails [root@guanzc-206 ~]# jinfo -flag +PrintGCDetails 16300 #动态开启 [root@guanzc-206 ~]# jinfo -flag PrintGCDetails 16300 -XX:+PrintGCDetails
-
key-value
jinfo -flag <name>=<value> PID
name 是jvm 参数,jvm 有很多参数,通过
java -XX:+PrintFlagsInitial
会打印出所有参数,参数通过上面命令修改
-
查看所有参数
[root@guanzc-206 ~]# java -XX:+PrintFlagsInitial 116300
打印jvm 所有参数
参数总结
jvm 参数有三种类型:默认参数, -X, -XX
-
默认参数
help
version -
-X 类型
-Xint # 解释执行
-Xcomp # 第一次使用就编译成本地的代码
-Xmixed # 混合模式(Java默认)参数通过
java -version
查看 -
-XX 类型
参数有两种类型,Cli配置上面介绍过了,
在开发工具配置格式
布尔:-XX:+name
key-value:-XX:name=value
jvm中参数被修改后:=
形式, 违背修改参数:=
,通过java -XX:+PrintCommandLineFlags -version
查看用户修改过的参数