Jinfo是JDK自帶Java配置信息工具。位於java的bin目錄下,jinfo的作用是實時地查看和調整虛擬機的各項參數,雖然使用Jps命令的-v參數可以查看虛擬機啟動時顯示指定的參數列表。但是如果想要知道沒有被明確指出的系統默認值,就需要用到jinfo。
Jinfo還能夠修改一部分運行期間能夠調整的虛擬機參數。
1、Jinfo命令格式
jinfo [ option ] pid
2、常用參數
Usage:
jinfo <option> <pid>
(to connect to a running process)
where<option> is one of:
-flag <name> to print the value of the named VMflag
-flag [+|-]<name> to enable or disable the named VM flag
-flag <name>=<value> to set thenamed VM flag to the given value
-h | -help to print this help message
3、源代碼
package com.jdkTools;
import java.util.ArrayList;
import java.util.Random;
/**
* 簡單的應用,有大量的循環和創建對象,供測試JDK自帶的jinfo使用
* 參數:-Xms30m -Xmx60m
*
* @author 范芳銘
*/
public class EasyJinfo {
public byte[] placeHolder = newbyte[1 * 1024]; // 占位符
public static void main(String[]args) throws Exception {
while (true) {
Random random = newRandom();
int loops = random.nextInt(10000);
EasyJinfo jstat = newEasyJinfo();
System.out.println("......正在構建對象:" + loops + "(個)");
jstat.getLoop(loops); //多次循環,產生大量對象
Thread.sleep(100);
}
}
public void getLoop(int size) {
ArrayList<EasyJinfo>list = new ArrayList<EasyJinfo>();
for (int i = 0; i < size;i++) {
EasyJinfo jstat = newEasyJinfo();
list.add(jstat);
}
}
}
4、運行參數
* 參數:-Xms30m -Xmx60m ,本參數用於啟動JVM虛擬機
5、運行結果(jinfo 查看、調整JVM參數)
首先要用JPS找到對應的進程ID
C:\Program Files\Java\jdk1.6.0_25\bin>jps -v
5340 Jps -Dapplication.home=C:\ProgramFiles\Java\jdk1.6.0_25 -Xms8m
1768 EasyJinfo -Xms30m -Xmx60m -Dfile.encoding=GBK
2856 -Xms256m-Xmx768m -XX:MaxPermSize=256m -XX:ReservedCodeCacheSize=64m-Dosgi.nls.warnings=ignore
然後執行jinfo
C:\Program Files\Java\jdk1.6.0_25\bin>jinfo -flagSurvivorRatio 1768
-XX:SurvivorRatio=8
注意:很多運行參數是不能調整的,如果出現這種異常,說明不能調整:
Exception in thread "main" java.io.IOException:Command failed in target VM
--------------------------------------分割線 --------------------------------------
Ubuntu安裝JDK及環境變量配置 http://www.linuxidc.com/Linux/2013-01/78221.htm
Ubuntu下安裝JDK7(附Clojure下載) http://www.linuxidc.com/Linux/2012-10/71557.htm
Ubuntu 12.04下安裝JDK1.7 http://www.linuxidc.com/Linux/2012-06/62239.htm
CentOS6.3安裝JDK和環境配置 http://www.linuxidc.com/Linux/2012-09/70780.htm
Ubuntu14.04 64位 安裝JDK1.7 http://www.linuxidc.com/Linux/2015-01/111102.htm