概述
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