歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> JDK自帶工具之jinfo

JDK自帶工具之jinfo

日期:2017/2/28 14:23:35   编辑:Linux教程

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

Copyright © Linux教程網 All Rights Reserved