欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java自帶命令行工具jmap、jhat與jinfo的使用實(shí)例代碼詳解

 更新時(shí)間:2017年04月20日 15:59:38   投稿:wbb  
本篇文章主要通過(guò)代碼實(shí)例對(duì)java自帶命令行工具jmap、jhat與jinfo的使用做出了詳解,需要的朋友可以參考下

java自帶命令行工具(jmap,jhat,jinfo)

(1)JMAP

1.作用

打印進(jìn)程,core文件,和遠(yuǎn)程進(jìn)程的共享對(duì)象存儲(chǔ)map或堆存儲(chǔ)器的詳細(xì)信息。

2.使用

jmap[options]pid
jmap[options]executablecore
jmap[options][pid]server-id@]remote-hostname-or-IP

如果指定的進(jìn)程是在64位Java虛擬機(jī)(JVM)上運(yùn)行,那么你可能需要指定-J-d64選項(xiàng),例如:jmap -J-d64 -heap pid。

3.參數(shù)選項(xiàng)

3.1

當(dāng)不使用選項(xiàng),該jmap命令打印共享對(duì)象映射

C:\Users\Administrator>jmap9208
AttachingtoprocessID9208,pleasewait...
Debuggerattachedsuccessfully.
Servercompilerdetected.
JVMversionis24.75-b04
0x00000000623c00008016KD:\Java\jdk1.7.0_75\jre\bin\server\jvm.dll
0x0000000062ba0000840KD:\Java\jdk1.7.0_75\jre\bin\msvcr100.dll
0x0000000062cc0000144KD:\Java\jdk1.7.0_75\jre\bin\sunec.dll
0x0000000062cf000068KD:\Java\jdk1.7.0_75\jre\bin\nio.dll
0x0000000062d10000100KD:\Java\jdk1.7.0_75\jre\bin\net.dll
0x0000000062d30000160KD:\Java\jdk1.7.0_75\jre\bin\java.dll
0x00000000634d000084KD:\Java\jdk1.7.0_75\jre\bin\zip.dll
0x000000006595000044KD:\Java\jdk1.7.0_75\jre\bin\sunmscapi.dll
0x000000006596000060KD:\Java\jdk1.7.0_75\jre\bin\verify.dll
0x000000006597000044KD:\Java\jdk1.7.0_75\jre\bin\management.dll
...

3.2

-dump:[live,] format=b, file=filename

轉(zhuǎn)儲(chǔ)Java堆hprof二進(jìn)制格式。指定live,標(biāo)識(shí)轉(zhuǎn)儲(chǔ)active狀態(tài)的對(duì)象。生成的文件可以由jhat命令查看。

C:\Users\Administrator>jmap-dump:format=b,file=9208_0413.hprof9208
DumpingheaptoC:\Users\Administrator\9208_0413.hprof...
Heapdumpfilecreated

3.3-finalizerinfo

打印將要結(jié)束的對(duì)象的信息

C:\Users\Administrator>jmap-finalizerinfo9208
AttachingtoprocessID9208,pleasewait...
Debuggerattachedsuccessfully.
Servercompilerdetected.
JVMversionis24.75-b04
Numberofobjectspendingforfinalization:0

3.4 -heap

打印垃圾收集和heap摘要信息,以及生成-wise 堆使用的堆摘要

C:\Users\Administrator>jmap-heap9208
AttachingtoprocessID9208,pleasewait...
Debuggerattachedsuccessfully.
Servercompilerdetected.
JVMversionis24.75-b04
 
usingthread-localobjectallocation.
ParallelGCwith4thread(s)
 
HeapConfiguration:
MinHeapFreeRatio=0
MaxHeapFreeRatio=100
MaxHeapSize=2124414976(2026.0MB)
NewSize=1310720(1.25MB)
MaxNewSize=17592186044415MB
OldSize=5439488(5.1875MB)
NewRatio=2
SurvivorRatio=8
PermSize=21757952(20.75MB)
MaxPermSize=85983232(82.0MB)
G1HeapRegionSize=0(0.0MB)
 
HeapUsage:
PSYoungGeneration
EdenSpace:
capacity=68157440(65.0MB)
used=16646688(15.875518798828125MB)
free=51510752(49.124481201171875MB)
24.423875075120193%used
FromSpace:
capacity=5242880(5.0MB)
used=5228248(4.986045837402344MB)
free=14632(0.01395416259765625MB)
99.72091674804688%used
ToSpace:
capacity=15728640(15.0MB)
used=0(0.0MB)
free=15728640(15.0MB)
0.0%used
PSOldGeneration
capacity=88080384(84.0MB)
used=27239848(25.977943420410156MB)
free=60840536(58.022056579589844MB)
30.9261231195359%used
PSPermGeneration
capacity=22020096(21.0MB)
used=15369592(14.657585144042969MB)
free=6650504(6.342414855957031MB)
69.7980244954427%used
 10057internedStringsoccupying867832bytes.

3.5 -histo[:live]

打印堆的直方圖

num#instances#bytesclassname
----------------------------------------------
...
877:132[Lcom.sun.jndi.ldap.pool.Pool;
878:232com.sun.org.apache.xerces.internal.impl.dv.dtd.ENTITYDatatypeValidator
879:232java.lang.Shutdown$Lock
880:132org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler
881:232com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver
882:132java.lang.reflect.WeakCache$CacheKey
883:132java.text.FieldPosition
884:132java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl
885:232sun.security.x509.CertificateVersion
886:232[Lorg.apache.catalina.deploy.ContextEnvironment;
887:132[Lorg.apache.tomcat.util.net.AbstractEndpoint$Acceptor$AcceptorState;
888:132sun.nio.cs.StandardCharsets
...

3.6 -clstats

java 堆的wise統(tǒng)計(jì)。1.7.0_75不支持該項(xiàng)

(2)jhat

2.1作用

分析Java堆。該jhat命令解析Java堆轉(zhuǎn)儲(chǔ)文件并啟動(dòng)Web服務(wù)器。jhat命令可以讓你瀏覽堆轉(zhuǎn)儲(chǔ)。支持OQL語(yǔ)法。

2.2使用

jhat [ options ] heap-dump-file

2.3參數(shù)說(shuō)明

1.-stack false|true

關(guān)閉跟蹤對(duì)象分配調(diào)用堆棧。默認(rèn)值是true。

-refs false|true

關(guān)閉對(duì)象的引用的跟蹤。默認(rèn)為true。

-port port-number

設(shè)置端口的jhatHTTP服務(wù)器。默認(rèn)值是7000。

-exclude exclude-file

指定列出了應(yīng)當(dāng)從可及的對(duì)象查詢排除數(shù)據(jù)成員的文件

-baseline exclude-file

指定基準(zhǔn)堆轉(zhuǎn)儲(chǔ)。在具有相同的對(duì)象ID兩個(gè)堆轉(zhuǎn)儲(chǔ)對(duì)象被標(biāo)記為不是新對(duì)象。這是用于比較兩個(gè)不同的堆轉(zhuǎn)儲(chǔ)有用。

-debug int

0級(jí)表示沒(méi)有調(diào)試輸出

C:\Users\Administrator>jhat-port80009208_0413.hprof
Readingfrom9208_0413.hprof...
DumpfilecreatedThuApr1321:18:58CST2017
Snapshotread,resolving...
Resolving389761objects...
Chasingreferences,expect77dots..........................................................................
Eliminatingduplicatereferences............................................................................
Snapshotresolved.
StartedHTTPserveronport8000
Serverisready.

接下來(lái),就可以通過(guò)瀏覽器訪問(wèn)查看。http://localhost:8000/。

(3)jinfo

3.1作用

生成的配置信息。如果指定的進(jìn)程是在64位JVM上運(yùn)行,那么你可能需要指定-J-d64選項(xiàng)

3.2使用

jinfo[option]pid
jinfo[option]executablecore
jinfo[option][servier-id]remote-hostname-or-IP

3.3選項(xiàng)參數(shù)

no-option:既打印命令行標(biāo)志和系統(tǒng)屬性鍵值對(duì)。

-flag name

打印名和指定的命令行標(biāo)志的值。

-flag [+|-]name

開(kāi)啟或禁止指定的布爾命令行標(biāo)志。

-flag name=value

設(shè)置指定的命令行標(biāo)志為指定值。

-flags

打印命令行標(biāo)志傳遞給JVM。

-sysprops

打印Java系統(tǒng)屬性鍵值對(duì)。

打印進(jìn)程的命令行參數(shù)

C:\Users\Administrator>jinfo-flags9208
AttachingtoprocessID9208,pleasewait...
Debuggerattachedsuccessfully.
Servercompilerdetected.
JVMversionis24.75-b04
 -Djava.util.logging.config.file=D:\apache-tomcat-7.0.67\conf\logging.properties-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.endorsed.dirs=D:\apache-tomcat-7.0.67\endorsed-Dcatalina.base=D:\apache-tomcat-7.0.67-Dcatalina.home=D:\apache-tomcat-7.0.67-Djava.io.
tmpdir=D:\apache-tomcat-7.0.67\temp
#在catalina.sh中可以找到設(shè)置的地方

打印參數(shù)值

#值類型參數(shù)
C:\Users\Administrator>jinfo-flagNewSize9208
-XX:NewSize=1310720
 
#開(kāi)關(guān)類型參數(shù)
C:\Users\Administrator>jinfo-flagPrintGC9208
-XX:-PrintGC
 
C:\Users\Administrator>jinfo-flagXmn9208
nosuchflag'Xmn'

可以總結(jié)出:-xms,-xmn系列參數(shù)不能通過(guò)jinfo指定或打??;jinfo命令作用于-XX:***格式的參數(shù)。

設(shè)置參數(shù)值

C:\Users\Administrator>jinfo-flagPrintGC9208
-XX:-PrintGC
 
C:\Users\Administrator>jinfo-flag+PrintGC9208
 
C:\Users\Administrator>jinfo-flagPrintGC9208
-XX:+PrintGC
//2windows環(huán)境總是失敗
 
C:\Users\Administrator>jinfo-flagPermSize=217500009208
Exceptioninthread"main"java.io.IOException:CommandfailedintargetVM
atsun.tools.attach.WindowsVirtualMachine.execute(WindowsVirtualMachine.java:112)
atsun.tools.attach.HotSpotVirtualMachine.executeCommand(HotSpotVirtualMachine.java:217)
atsun.tools.attach.HotSpotVirtualMachine.setFlag(HotSpotVirtualMachine.java:190)
atsun.tools.jinfo.JInfo.flag(JInfo.java:123)
atsun.tools.jinfo.JInfo.main(JInfo.java:76)

希望本篇文章對(duì)您有所幫助

相關(guān)文章

  • SpringBoot中使用Redis對(duì)接口進(jìn)行限流的實(shí)現(xiàn)

    SpringBoot中使用Redis對(duì)接口進(jìn)行限流的實(shí)現(xiàn)

    本文將結(jié)合實(shí)例代碼,介紹SpringBoot中使用Redis對(duì)接口進(jìn)行限流的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • SpringBoot ThreadLocal實(shí)現(xiàn)公共字段自動(dòng)填充案例講解

    SpringBoot ThreadLocal實(shí)現(xiàn)公共字段自動(dòng)填充案例講解

    每一次在Controller層中封裝改動(dòng)數(shù)據(jù)的方法時(shí)都要重新設(shè)置一些共性字段,顯得十分冗余。為了解決此問(wèn)題也是在項(xiàng)目中第一次利用到線程,總的來(lái)說(shuō)還是讓我眼前一亮,也開(kāi)闊了視野,對(duì)以后的開(kāi)發(fā)具有深遠(yuǎn)的意義
    2022-10-10
  • SpringBoot應(yīng)用快速部署到K8S的詳細(xì)教程

    SpringBoot應(yīng)用快速部署到K8S的詳細(xì)教程

    這篇文章主要介紹了SpringBoot應(yīng)用快速部署到K8S的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 解決IDEA占用C盤(pán)空間過(guò)大的問(wèn)題

    解決IDEA占用C盤(pán)空間過(guò)大的問(wèn)題

    這篇文章主要介紹了解決IDEA占用C盤(pán)空間過(guò)大的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • 詳解Java中的final關(guān)鍵字的使用

    詳解Java中的final關(guān)鍵字的使用

    這篇文章主要介紹了詳解Java中的final關(guān)鍵字的使用,是Java入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-07-07
  • springboot項(xiàng)目部署到k8s上的方法步驟

    springboot項(xiàng)目部署到k8s上的方法步驟

    本文主要介紹了springboot項(xiàng)目部署到k8s上的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Java函數(shù)式編程(二):集合的使用

    Java函數(shù)式編程(二):集合的使用

    這篇文章主要介紹了Java函數(shù)式編程(二):集合的使用,本文著重講解了遍歷列表的一些方法,需要的朋友可以參考下
    2014-09-09
  • Java中的static關(guān)鍵字深入理解

    Java中的static關(guān)鍵字深入理解

    這篇文章主要介紹了Java中的static關(guān)鍵字深入理解,文字和代碼列舉了實(shí)際例子,有感興趣的同學(xué)可以研究下
    2021-03-03
  • Java方法遞歸調(diào)用實(shí)例解析

    Java方法遞歸調(diào)用實(shí)例解析

    這篇文章主要介紹了Java方法遞歸調(diào)用實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • springboot+thymeleaf+druid+mybatis 多模塊實(shí)現(xiàn)用戶登錄功能

    springboot+thymeleaf+druid+mybatis 多模塊實(shí)現(xiàn)用戶登錄功能

    這篇文章主要介紹了springboot+thymeleaf+druid+mybatis 多模塊實(shí)現(xiàn)用戶登錄功能,本文通過(guò)示例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評(píng)論