什么是jinfo?
jinfo是jdk提供的可以查询jvm所有配置以及指定配置和修改的命令。
可在安装的jdk->bin目录下找到,如下
为什么使用jinfo?
我们虽然可以手动设置jvm的相关配置参数,但是有些参数是jvm初始化的默认值,有时我们想知道初始化的这些值,由此jinfo应运而生。
怎么使用?
打开命令行输入jinfo,命令的书写规范如下。
1.jinfo -flags 24352(pid),查找指定pid中的所有配置信息,包含命令行变量以及vm变量。
2.jinfo -flag MaxHeapFreeRatio(jvm的变量) 24352(pid),可以查询指定变量进行查询。
3,java -XX:+PrintFlagsFinal -version | grep manageable 标记为manageable 的变量才可以进行修改(要在linux中执行)。
- jinfo -flag MaxHeapFreeRatio=90 24352(pid),指定变量值进行修改,执行成功后再进行查询,修改成功(注意:如果程序停掉之后在启动值还为原来的)。
- jinfo -sysprops 24352(pid) 打印Java系统属性的步骤
6.jinfo -flag PrintGC 24352。
jinfo -flag +PrintGC 24352
- java -XX:+PrintFlagsFinal 24352,打印所有变量的最终值。(部分数据截图,其中:=说明是数据更改过)
- java -XX:+PrintFlagsInitial 24352,打印所有变量的初始值。(部分数据截图)