jinfo全名:Configuration Info for Java,生成虛擬機配置訊息,也可以修改虛擬機的參數。
jinfo <option> <pid>
一樣可透過jinfo
或jinfo -help
查看此指令的說明資訊
package Controller;
import java.util.Scanner;
public class JinfoTest{
public static void main(String[] args) {
System.out.println(System.getProperties()); //獲取系統引數
Scanner scannerTest = new Scanner(System.in);
scannerTest.next(); //等待輸入訊息
}
}
編譯與執行的指令說明,請參考Day4-java語言編譯器:javac & 運行工具:java (上)
可以看一下在程式碼中輸出System.getProperties()
獲得的資訊內容如上圖
故得先透過jps
查看,請參考Day7-JDK查看正在運行的Java進程工具:jps
我查到我這次的進程是4413,以下示範的指令記得將4413改為欲查看的進程id喔!
以下依據查看與修改兩大類型進行介紹:
輸出虛擬機的選項的和系統選項
jinfo 4413
-sysprops
輸出系統選項 (可在程式中透過System.getProperties()
取得)
jinfo -sysprops 4413
-flags
輸出傳遞給JVM的選項值
jinfo -flags 4413
-flag <具體參數name>
輸出指定名稱的參數
jinfo -flag UseG1Gc 4413
注意!!要能修改的參數帶有manageable
,可透過以下指令查看哪些參數可修改
java -XX:+PrintFlagsFinal -version|grep manageable
-flag [+/-]<具體參數name>
增加或取消指定名稱的參數
jinfo -flag +HeapDoumpBeforeFullGC 4413
我挑選了HeapDoumpBeforeFullGC
選項作為示範
✎Step1.先進行查看HeapDoumpBeforeFullGC選項狀態>查出為-
✎Step2.進行修改為+
✎Step3.修改後查看HeapDoumpBeforeFullGC選項狀態>查出為+
✎Step4.修改為-
✎Step5.修改後查看HeapDoumpBeforeFullGC選項狀態>查出為+
-flag <name>=<value>
修改指定參數的參數值