打印jvm参数的几种方式
jps -v
jps
命令应该是jdk提供的java工具中被使用最多的了,jps -v
可以打印出传递给jvm的参数
- ``-XX:+PrintVMOptions`参数
jvm添加该参数,可以在程序运行时,打印虚拟机接受到的命令行显示参数(打印出我们显示指定的)
-XX:+PrintCommandLineFlags
可以打印出传递给虚拟机的显示和隐式参数,隐式参数未必是通过命令行直接给出的,它可能是由虚拟机启动时自行设置的。
如下面这样一个输出:
-XX:InitialHeapSize=268435456 -XX:MaxHeapSize=4294967296 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC
-XX:+PrintFlagsFinal
它会打印所有的系统参数的值,通常我们会用来查看jvm参数的默认值
jinfo
命令
使用jps命令的-v参 数可以查看虚拟机启动时显式指定的参数列表,但如果想知道未被显式指定的参数的系统默认值,除 了去找资料外,也可以使用jinfo的-flag选项进行查询了
jinfo <option> <pid>
其中option可以为以下信息
- -flag
:打印指定java虚拟机的参数值 - -flag[+|-]
:设置指定jvm参数的布尔值 - -flag
= : 设置指定jvm参数的值
如:
jinfo -flag MaxTenuringThreshold 51468
-->-XX:MaxTenuringThreshold=15
注意:不是所有jvm参数都支持动态修改
你所看得到的天才不过是在你看不到的时候还在努力罢了!