jinfo简介
jinfo(Configuration Info for Java),可以查看和调整虚拟机参数。
官网地址:https://docs.oracle.com/en/java/javase/11/tools/jinfo.html
选项 | 说明 |
---|---|
no option | 输出全部的参数和系统属性 |
-flag name | 输出对应名称的参数 |
-flag[±]name | 开启或者关闭对应名称的参数,只有被标记为manageable的参数才可以被动态修改 |
-flag name=value | 设定对应名称的参数 |
-flags | 输出全部的参数 |
-sysprops | 输出系统属性 |
查看
1)查看System.getProperties()中获取的参数
jinfo -sysprops 6619
2)查看曾经赋过值的一些参数
jinfo -flags 7563
3)查看Java进程的具体参数值
[root@bogon ~]# jinfo -flag UseParallelGC 12023
-XX:-UseParallelGC
[root@bogon ~]# jinfo -flag UseG1GC 12023
-XX:-UseG1GC
[root@bogon ~]# jinfo -flag MaxHeapSize 12023
-XX:MaxHeapSize=8388608
修改
jinfo可以在程序运行时修改部分参数,并使之立即生效。但是并不是所有参数都支持动态修改。参数只有被标记为manageable的flag可以被实时修改。这个修改能力是有限的。
查看manageable的参数
java -XX:+PrintFlagsFinal -version | grep manageable
修改可被manageable的参数值
[root@bogon ~]# jinfo -flag PrintGCDetails 12023
-XX:-PrintGCDetails
[root@bogon ~]# jinfo -flag +PrintGCDetails 12023
[root@bogon ~]# jinfo -flag PrintGCDetails 12023
-XX:+PrintGCDetails
[root@bogon ~]# jinfo -flag MaxHeapFreeRatio 12023
-XX:MaxHeapFreeRatio=70
[root@bogon ~]# jinfo -flag MaxHeapFreeRatio=90 12023
[root@bogon ~]# jinfo -flag MaxHeapFreeRatio 12023
-XX:MaxHeapFreeRatio=90
扩展
查看所有JVM参数启动的初始值
java -XX:+PrintFlagsInitial
查看所有JVM参数的最终值
java -XX:+PrintFlagsFinal
查看已经被用户或者JVM设置过的详细的参数
java -XX:+PrintCommandLineFlags