天天看點

Jinfo指令檢視jvm運作參數

jvm 性能調優工具之 jinfo

概述

jinfo 是 JDK 自帶的指令,可以用來檢視正在運作的 java 應用程式的擴充參數,包括Java System屬性和JVM指令行參數;也可以動态的修改正在運作的 JVM 一些參數。當系統崩潰時,jinfo可以從core檔案裡面知道崩潰的Java應用程式的配置資訊

jinfo 用法

[email protected]:/home/test/LogFiles/OSBDomain/servers/osb_server7$ jinfo

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

參數說明

option

Javacore 概述

Javacore,也可以稱為“threaddump”或是“javadump”,它是 Java 提供的一種診斷特性,能夠提供一份可讀的目前運作的 JVM 中線程使用情況的快照。即在某個特定時刻,JVM 中有哪些線程在運作,每個線程執行到哪一個類,哪一個方法。

應用程式如果出現不可恢複的錯誤或是記憶體洩露,就會自動觸發 Javacore 的生成。

示例一: no option

指令:jinfo pid

描述:輸出目前 jvm 程序的全部參數和系統屬性

示例二: -flag name

指令:jinfo -flag name pid

描述:輸出對應名稱的參數

使用該指令,可以檢視指定的 jvm 參數的值。如:檢視目前 jvm 程序是否開啟列印 GC 日志。

示例三:-flag [+|-]name

指令:jinfo -flag [+|-]name pid

描述:開啟或者關閉對應名稱的參數

使用 jinfo 可以在不重新開機虛拟機的情況下,可以動态的修改 jvm 的參數。尤其線上上的環境特别有用。

使用如下:

示例四:-flag name=value

指令:jinfo -flag name=value pid

描述:修改指定參數的值。

同示例三,但示例三主要是針對 boolean 值的參數設定的。

如果是設定 value值,則需要使用 name=value 的形式。

使用如下:

注意事項 :

jinfo雖然可以在java程式運作時動态地修改虛拟機參數,但并不是所有的參數都支援動态修改

示例五: -flags

指令:jinfo -flags pid

描述:輸出全部的參數

示例六:-sysprops

指令:jinfo -sysprops pid

描述:輸出目前 jvm 進行的全部的系統屬性

源文檔 <https://www.jianshu.com/p/8d8aef212b25>

no option 輸出全部的參數和系統屬性

-flag name 輸出對應名稱的參數

-flag [+|-]name 開啟或者關閉對應名稱的參數

-flag name=value 設定對應名稱的參數

-flags 輸出全部的參數

-sysprops 輸出系統屬性

[server-id@]remote server IP or hostname 遠端的ip或者hostname,server-id标記服務的唯一性id

pid 對應jvm的程序id

executable core 産生core dump檔案