日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發布時間:2025/3/8 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java虚拟机内存监控_java虚拟机内存监控工具jps,jinfo,Jstack,jstat,jmap,jhat使用... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

將會打印出很多jvm運行時參數信息,由于比較長這里不再打印出來,可以自己試試,內容一目了然

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

jstack用于打印出給定的java進程ID或core file或遠程調試服務的Java堆棧信息,如果是在64位機器上,需要指定選項"-J-d64“

命令格式:jstack [ option ] pid

常用參數說明:

-F 當’jstack [-l] pid’沒有相應的時候強制打印棧信息

-l ?長列表. 打印關于鎖的附加信息,例如屬于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統計信息監視工具

對Java應用程序的資源和性能進行實時的命令行的監控,包括了對Heap?size和垃圾回收狀況的監控

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

常用參數說明:

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

-gccapacity 輸出堆中各個區域使用到的最大和最小空間

例如:每隔1秒監控jvm內存一次,共監控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

一些術語的中文解釋:

S0C:年輕代中第一個survivor(幸存區)的容量 (字節)

S1C:年輕代中第二個survivor(幸存區)的容量 (字節)

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

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

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

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

OC:Old代的容量 (字節)

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

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

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

YGC:從應用程序啟動到采樣時年輕代中gc次數

YGCT:從應用程序啟動到采樣時年輕代中gc所用時間(s)

FGC:從應用程序啟動到采樣時old代(全gc)gc次數

FGCT:從應用程序啟動到采樣時old代(全gc)gc所用時間(s)

GCT:從應用程序啟動到采樣時gc用的總時間(s)

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

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

NGC:年輕代(young)中當前的容量 (字節)

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

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

OGC:old代當前新生成的容量 (字節)

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

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

PGC:perm代當前新生成的容量 (字節)

S0:年輕代中第一個survivor(幸存區)已使用的占當前容量百分比

S1:年輕代中第二個survivor(幸存區)已使用的占當前容量百分比

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

O:old代已使用的占當前容量百分比

P:perm代已使用的占當前容量百分比

S0CMX:年輕代中第一個survivor(幸存區)的最大容量 (字節)

S1CMX :年輕代中第二個survivor(幸存區)的最大容量 (字節)

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

DSS:當前需要survivor(幸存區)的容量 (字節)(Eden區已滿)

TT: 持有次數限制

MTT : 最大持有次數限制

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

打印出某個java進程(使用pid)內存內的所有‘對象’的情況(如:產生那些對象,及其數量)

命令格式:jmap [ option ] pid

常用參數說明:

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

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

-F?強迫.在pid沒有相應的時候使用-dump或者-histo參數.?在這個模式下,live子參數無效.

例如:以二進制形式輸入當前堆內存映像到文件data.hprof中

Cmd命令行代碼 ?

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

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

通過使用如下參數啟動JVM,也可以獲取到dump文件:

-XX:+HeapDumpOnOutOfMemoryError

-XX:HeapDumpPath=./java_pid.hprof

在jvm發生內存溢出時生成內存映像文件

jhat(JVM Heap Analysis Tool):JVM堆轉儲快照分析工具

用于對JAVA?heap進行離線分析的工具,他可以對不同虛擬機中導出的heap信息文件進行分析,如LINUX上導出的文件可以拿到WINDOWS上進行分析,可以查找諸如內存方面的問題。

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

例如:分析jmap導出的內存映像

Cmd命令行代碼 ?

jhat?data.hprof

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

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

圖形化監控工具:

在JDK安裝目錄bin下面有兩個可視化監控工具

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

2. VisualVM(All-in-one Java Troubleshooting Tool)隨JDK發布的最強大的運行監視和故障處理程序。

推薦使用VisualVM,他有很多插件,可以更方便的監控運行時JVM

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。