多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > 服務(wù)器 > JDK自帶工具之jmap

JDK自帶工具之jmap

來源:程序員人生   發(fā)布時間:2015-01-24 09:16:11 閱讀次數(shù):4516次

Jmap是JDK自帶的1個輕量級小工具。位于java的bin目錄下,它能夠打印出某個java進程(使用pid)內(nèi)存中所有‘對象’的情況(如:產(chǎn)生那些對象,及其數(shù)量)。它不但可以輸出所有內(nèi)存中對象的工具,乃至可以將VM 中的heap,以2進制輸出成文本。使用方法 jmap -histo pid。也能夠?qū)⑵浔4娴轿谋局腥ィ?段時間后,使用文本對照工具,可以對照出GC回收了哪些對象。還可以和jhat (Java Heap Analysis Tool)1起使用,能夠以圖象的情勢直觀的展現(xiàn)當(dāng)前內(nèi)存是不是有問題。

1、Jmap命令格式

 jmap [ option ] pid

2、經(jīng)常使用參數(shù)

注意:jmap大部份功能都只能在Linux下運行,在windows下只有-dump和-histo選項有效

 

-dump:[live,]format=b,file=<filename>使用hprof2進制情勢,輸出jvm的heap內(nèi)容到文件=. live子選項是可選的,假設(shè)指定live選項,那末只輸出活的對象到文件.

-finalizerinfo打印正等候回收的對象的信息.

-heap 打印heap的概要信息,GC使用的算法,heap的配置及wise heap的使用情況.

-histo[:live] 打印每一個class的實例數(shù)目,內(nèi)存占用,類全名信息. VM的內(nèi)部類名字開頭會加上前綴”*”. 如果live子參數(shù)加上后,只統(tǒng)計活的對象數(shù)量.

-permstat 打印classload和jvm heap久長層的信息. 包括每一個classloader的名字,活潑性,地址,父classloader和加載的class數(shù)量. 另外,內(nèi)部String的數(shù)量和占用內(nèi)存數(shù)也會打印出來.

-F 逼迫.在pid沒有相應(yīng)的時候使用-dump或-histo參數(shù). 在這個模式下,live子參數(shù)無效.

-h | -help 打印輔助信息

 

3、源代碼

package com.jdkTools;

 

import java.util.ArrayList;

import java.util.Random;

 

/**

 * 簡單的利用,有大量的循環(huán)和創(chuàng)建對象,供測試JDK自帶的jmap使用

 * 參數(shù):-Xms30m -Xmx60m

 *

 * @author 范芳銘

 */

public class EasyJmap {

    public byte[] placeHolder = newbyte[1 * 1024]; // 占位符

 

    public static void main(String[]args) throws Exception {

        while (true) {

            Random random = newRandom();

            int loops =random.nextInt(10000);

            EasyJmap jstat = newEasyJmap();

            System.out.println("......正在構(gòu)建對象:" + loops + "(個)");

            jstat.getLoop(loops); //屢次循環(huán),產(chǎn)生大量對象

            Thread.sleep(10);      

        }

    }

 

    public void getLoop(int size) {

        ArrayList<EasyJmap>list = new ArrayList<EasyJmap>();

        for (int i = 0; i < size;i++) {

            EasyJmap jstat = newEasyJmap();

            list.add(jstat);

        }

    }

}

4、運行參數(shù)

* 參數(shù):-Xms30m -Xmx60m  ,本參數(shù)用于啟動JVM虛擬機

5、運行結(jié)果

C:Program FilesJavajdk1.6.0_25in>jmap -dump:format=b,file=d:/ffm83/jmaplog.txt1668

Dumping heap to D:ffm83jmaplog.txt ...

Heap dump file created

 

查看-histo[:live]  打印堆的對象統(tǒng)計,包括對象數(shù)、內(nèi)存大小等等 

C:Program FilesJavajdk1.6.0_25in>jmap -histo 1668

 

 num     #instances         #bytes class name

----------------------------------------------

   1:          7561        7536976 [B

   2:          4970         496896 <constMethodKlass>

   3:          8147         441176 <symbolKlass>

   4:          4970         400192 <methodKlass>

   5:          1458         198624 [C

   6:           320         188400 <constantPoolKlass>

   7:           298         128672 <constantPoolCacheKlass>

   8:           320         127832 <instanceKlassKlass>

   9:          7174         114784 com.jdkTools.EasyJmap

  10:           314          64696 [Ljava.lang.Object;

  11:           380          41904 [I

  12:           388          37248 java.lang.Class

  13:          1485          35640 java.lang.String

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 影视精品网站入口 | 国产精品亚洲精品日韩己满十八小 | 日本系列 1页 亚洲系列 | 一级做a爱片| 偷拍欧美视频 | 中文字幕乱码系列免费 | 欧美日本一级在线播放 | 波多野结衣一区二区三区在线观看 | 国产成人综合亚洲一区 | 中文字幕亚洲欧美日韩高清 | 男女视频网站在线观看 | 久久国产精品免费视频 | 最近中文字幕mv免费视频 | 在线观看视频免费入口 | 一级片亚洲 | 性欧美精品久久久久久久 | 欧美一区二区三区精品影视 | 久久国产欧美日韩精品免费 | 亚洲欧美精品一区天堂久久 | 拍拍拍在线观看视频免费 | 精品欧美一区手机在线观看 | 特级淫片aaaaa片毛片 | 91精品久久一区二区三区 | 亚洲专区中文字幕 | 日本午夜小视频 | 亚洲欧美日韩中文字幕久久 | 亚洲天堂视频在线观看 | 国产h在线观看 | 亚洲成a人在线播放www | 福利片中文 | 亚洲97在线 | 日本护士xxxx | 91成人爽a毛片一区二区 | 午夜在线观看免费观看大全 | 男女免费观看在线爽爽爽视频 | 羞羞动漫免费观看 | 日本特黄特色免费大片 | 真实国产精品视频国产网 | 一区二区三区视频免费观看 | 国产精品爱久久久久久久三级 | 国产欧美另类久久精品91 |