日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java虚拟机内存监控_java虚拟机内存监控工具jps,jinfo,Jstack,jstat,jmap,jhat使用...

發(fā)布時(shí)間:2025/3/8 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java虚拟机内存监控_java虚拟机内存监控工具jps,jinfo,Jstack,jstat,jmap,jhat使用... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

將會(huì)打印出很多jvm運(yùn)行時(shí)參數(shù)信息,由于比較長這里不再打印出來,可以自己試試,內(nèi)容一目了然

Jstack(Stack Trace for Java):JVM堆棧跟蹤工具

jstack用于打印出給定的java進(jìn)程ID或core file或遠(yuǎn)程調(diào)試服務(wù)的Java堆棧信息,如果是在64位機(jī)器上,需要指定選項(xiàng)"-J-d64“

命令格式:jstack [ option ] pid

常用參數(shù)說明:

-F 當(dāng)’jstack [-l] pid’沒有相應(yīng)的時(shí)候強(qiáng)制打印棧信息

-l ?長列表. 打印關(guān)于鎖的附加信息,例如屬于java.util.concurrent的ownable synchronizers列表.

-m 打印java和native c/c++框架的所有棧信息.

-h | -help打印幫助信息

例如:

Cmd命令行代碼 ?

C:\Users\Administrator>jstack?1796

2013-05-22?11:42:38

Full?thread?dump?Java?HotSpot(TM)?Client?VM?(20.6-b01?mixed?mode):

"Worker-30"?prio=6?tid=0x06514c00?nid=0x1018?in?Object.wait()?[0x056af000]

java.lang.Thread.State:?TIMED_WAITING?(on?object?monitor)

at?java.lang.Object.wait(Native?Method)

at?org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188)

-?locked?<0x1ad84a90>?(a?org.eclipse.core.internal.jobs.WorkerPool)

at?org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220)

at?org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)

......

......

......

......

jstat(JVM statistics Monitoriing Tool):JVM統(tǒng)計(jì)信息監(jiān)視工具

對(duì)Java應(yīng)用程序的資源和性能進(jìn)行實(shí)時(shí)的命令行的監(jiān)控,包括了對(duì)Heap?size和垃圾回收狀況的監(jiān)控

命令格式:jstat?[?option? pid [interval [ s | ms ] [count] ] ]

常用參數(shù)說明:

-gcutil? 輸出已使用空間占總空間的百分比

-gccapacity 輸出堆中各個(gè)區(qū)域使用到的最大和最小空間

例如:每隔1秒監(jiān)控jvm內(nèi)存一次,共監(jiān)控5次

Cmd命令行代碼 ?

C:\Users\Administrator>jstat?-gccapacity??1796??1s??5

NGCMN????NGCMX?????NGC?????S0C???S1C???????EC??????OGCMN??????OGCMX???????OGC?????????OC??????PGCMN????PGCMX?????PGC???????PC?????YGC????FGC

13632.0?174720.0??40896.0?4032.0?4032.0??32832.0????27328.0???349568.0????81684.0????81684.0??12288.0?262144.0??80640.0??80640.0?????42????96

13632.0?174720.0??40896.0?4032.0?4032.0??32832.0????27328.0???349568.0????81684.0????81684.0??12288.0?262144.0??80640.0??80640.0?????42????96

13632.0?174720.0??40896.0?4032.0?4032.0??32832.0????27328.0???349568.0????81684.0????81684.0??12288.0?262144.0??80640.0??80640.0?????42????96

13632.0?174720.0??40896.0?4032.0?4032.0??32832.0????27328.0???349568.0????81684.0????81684.0??12288.0?262144.0??80640.0??80640.0?????42????96

13632.0?174720.0??40896.0?4032.0?4032.0??32832.0????27328.0???349568.0????81684.0????81684.0??12288.0?262144.0??80640.0??80640.0?????42????97

Cmd命令行代碼 ?

C:\Users\Administrator>jstat?-gcutil??1796??1s??5

S0?????S1?????E??????O??????P?????YGC?????YGCT????FGC????FGCT?????GCT

0.00???0.00???0.52??53.35??99.77?????42????0.513????99???38.119???38.632

0.00???0.00???0.52??53.35??99.77?????42????0.513????99???38.119???38.632

0.00???0.00???0.52??53.35??99.77?????42????0.513????99???38.119???38.632

0.00???0.00???0.52??53.35??99.77?????42????0.513????99???38.119???38.632

0.00???0.00???0.52??53.35??99.77?????42????0.513????99???38.119???38.632

一些術(shù)語的中文解釋:

S0C:年輕代中第一個(gè)survivor(幸存區(qū))的容量 (字節(jié))

S1C:年輕代中第二個(gè)survivor(幸存區(qū))的容量 (字節(jié))

S0U:年輕代中第一個(gè)survivor(幸存區(qū))目前已使用空間 (字節(jié))

S1U:年輕代中第二個(gè)survivor(幸存區(qū))目前已使用空間 (字節(jié))

EC:年輕代中Eden(伊甸園)的容量 (字節(jié))

EU:年輕代中Eden(伊甸園)目前已使用空間 (字節(jié))

OC:Old代的容量 (字節(jié))

OU:Old代目前已使用空間 (字節(jié))

PC:Perm(持久代)的容量 (字節(jié))

PU:Perm(持久代)目前已使用空間 (字節(jié))

YGC:從應(yīng)用程序啟動(dòng)到采樣時(shí)年輕代中g(shù)c次數(shù)

YGCT:從應(yīng)用程序啟動(dòng)到采樣時(shí)年輕代中g(shù)c所用時(shí)間(s)

FGC:從應(yīng)用程序啟動(dòng)到采樣時(shí)old代(全gc)gc次數(shù)

FGCT:從應(yīng)用程序啟動(dòng)到采樣時(shí)old代(全gc)gc所用時(shí)間(s)

GCT:從應(yīng)用程序啟動(dòng)到采樣時(shí)gc用的總時(shí)間(s)

NGCMN:年輕代(young)中初始化(最小)的大小 (字節(jié))

NGCMX:年輕代(young)的最大容量 (字節(jié))

NGC:年輕代(young)中當(dāng)前的容量 (字節(jié))

OGCMN:old代中初始化(最小)的大小 (字節(jié))

OGCMX:old代的最大容量 (字節(jié))

OGC:old代當(dāng)前新生成的容量 (字節(jié))

PGCMN:perm代中初始化(最小)的大小 (字節(jié))

PGCMX:perm代的最大容量 (字節(jié))

PGC:perm代當(dāng)前新生成的容量 (字節(jié))

S0:年輕代中第一個(gè)survivor(幸存區(qū))已使用的占當(dāng)前容量百分比

S1:年輕代中第二個(gè)survivor(幸存區(qū))已使用的占當(dāng)前容量百分比

E:年輕代中Eden(伊甸園)已使用的占當(dāng)前容量百分比

O:old代已使用的占當(dāng)前容量百分比

P:perm代已使用的占當(dāng)前容量百分比

S0CMX:年輕代中第一個(gè)survivor(幸存區(qū))的最大容量 (字節(jié))

S1CMX :年輕代中第二個(gè)survivor(幸存區(qū))的最大容量 (字節(jié))

ECMX:年輕代中Eden(伊甸園)的最大容量 (字節(jié))

DSS:當(dāng)前需要survivor(幸存區(qū))的容量 (字節(jié))(Eden區(qū)已滿)

TT: 持有次數(shù)限制

MTT : 最大持有次數(shù)限制

jmap( Memory Map for Java):JVM內(nèi)存映像工具

打印出某個(gè)java進(jìn)程(使用pid)內(nèi)存內(nèi)的所有‘對(duì)象’的情況(如:產(chǎn)生那些對(duì)象,及其數(shù)量)

命令格式:jmap [ option ] pid

常用參數(shù)說明:

-dump:[live,]format=b,file=?使用二進(jìn)制形式輸出jvm的heap內(nèi)容到文件中,?live子選項(xiàng)是可選的,假如指定live選項(xiàng),那么只輸出活的對(duì)象到文件.

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

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

例如:以二進(jìn)制形式輸入當(dāng)前堆內(nèi)存映像到文件data.hprof中

Cmd命令行代碼 ?

jmap?-dump:live,format=b,file=data.hprof?1796

生成的文件可以使用jhat工具進(jìn)行分析,在OOM(內(nèi)存溢出)時(shí),分析大對(duì)象,非常有用

通過使用如下參數(shù)啟動(dòng)JVM,也可以獲取到dump文件:

-XX:+HeapDumpOnOutOfMemoryError

-XX:HeapDumpPath=./java_pid.hprof

在jvm發(fā)生內(nèi)存溢出時(shí)生成內(nèi)存映像文件

jhat(JVM Heap Analysis Tool):JVM堆轉(zhuǎn)儲(chǔ)快照分析工具

用于對(duì)JAVA?heap進(jìn)行離線分析的工具,他可以對(duì)不同虛擬機(jī)中導(dǎo)出的heap信息文件進(jìn)行分析,如LINUX上導(dǎo)出的文件可以拿到WINDOWS上進(jìn)行分析,可以查找諸如內(nèi)存方面的問題。

命令格式:jhat dumpfile(jmap生成的文件)

例如:分析jmap導(dǎo)出的內(nèi)存映像

Cmd命令行代碼 ?

jhat?data.hprof

MAT(Memory Analyzer Tool):一個(gè)基于Eclipse的內(nèi)存分析工具

這是eclipse的一個(gè)插件,安裝后可以打開xxx.hprof文件,進(jìn)行分析,比jhat更方便使用,有些時(shí)候由于線上xxx.hprof文件過大,直接使用jhat進(jìn)行初步分析了,可以的話拷貝到本地分析效果更佳。

圖形化監(jiān)控工具:

在JDK安裝目錄bin下面有兩個(gè)可視化監(jiān)控工具

1. JConsole(Java Monitoring and Management Console) 基于JMX的可視化管理工具。

2. VisualVM(All-in-one Java Troubleshooting Tool)隨JDK發(fā)布的最強(qiáng)大的運(yùn)行監(jiān)視和故障處理程序。

推薦使用VisualVM,他有很多插件,可以更方便的監(jiān)控運(yùn)行時(shí)JVM

總結(jié)

以上是生活随笔為你收集整理的java虚拟机内存监控_java虚拟机内存监控工具jps,jinfo,Jstack,jstat,jmap,jhat使用...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。