概述
jinfo 是 JDK 自带的命令,可以用来查看正在运行的 java 应用程序的扩展参数,包括Java System属性和JVM命令行参数;也可以动态的修改正在运行的 JVM 一些参数。
当系统崩溃时,jinfo可以从core文件里面知道崩溃的Java应用程序的配置信息。
jinfo 用法
[root@push ~]# jinfo -help Usage: jinfo [option] <pid> (to connect to running process) jinfo [option] <executable <core> (to connect to a core file) jinfo [option] [server_id@]<remote server IP or hostname> (to connect to remote debug server) where <option> is one of: -flag <name> to print the value of the named VM flag -flag [+|-]<name> to enable or disable the named VM flag -flag <name>=<value> to set the named VM flag to the given value -flags to print VM flags -sysprops to print Java system properties <no option> to print both of the above -h | -help to print this help message
参数说明:
- pid: 对应jvm的进程id
- executable core: 产生core dump文件
- [server-id@]remote server IP or hostname: 远程的ip或者hostname,server-id标记服务的唯一性id
option:
- no option:输出全部的参数和系统属性
- -flag name:输出对应名称的参数
- -flag [+|-]name:开启或者关闭对应名称的参数
- -flag name=value:设定对应名称的参数
- -flags:输出全部的参数
- -sysprops:输出系统属性
示例一: no option
命令:jinfo pid
描述:输出当前 jvm 进程的全部参数和系统属性。
示例二: -flag name
命令:jinfo -flag name pid
描述:输出对应名称的参数
使用该命令,可以查看指定的 jvm 参数的值。如:查看当前 jvm 进程是否开启打印 GC 日志。
示例三:-flag [+|-]name
命令:jinfo -flag [+|-]name pid
描述:开启或者关闭对应名称的参数
使用 jinfo 可以在不重启虚拟机的情况下,可以动态的修改 jvm 的参数。尤其在线上的环境特别有用。
注意事项 :jinfo虽然可以在java程序运行时动态地修改虚拟机参数,但并不是所有的参数都支持动态修改。
示例四:-flag name=value
命令:jinfo -flag name=value pid
描述:修改指定参数的值。
注意事项 :jinfo虽然可以在java程序运行时动态地修改虚拟机参数,但并不是所有的参数都支持动态修改。
示例五: -flags
命令:jinfo -flags pid
描述:输出全部的JVM参数
示例六:-sysprops
命令:jinfo -sysprops pid
描述:输出当前 jvm 进行的全部的系统属性。
引用:
- https://www.jianshu.com/p/8d8aef212b25