新聞中心
高效實用!linux jvm進程監(jiān)控工具推薦

房縣網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司于2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)公司。
隨著企業(yè)應用的不斷發(fā)展,Java虛擬機(JVM)的使用變得越來越廣泛。然而,對于運行Java的應用程序來說,JVM進程的管理和監(jiān)控也變得愈發(fā)重要。在Linux操作系統(tǒng)中,有很多工具可以用于監(jiān)控JVM進程并且有許多功能。
在這篇文章中,我們將介紹一些高效實用的Linux JVM進程監(jiān)控工具。
1. jConsole
jConsole是官方提供的用于監(jiān)控和管理JVM的工具,它可以通過JMX協(xié)議連接JVM進程,并且提供了豐富的指標信息。除了常規(guī)的內(nèi)存、線程、CPU使用量等指標以外,還支持可配置的JMX強制垃圾回收、線程轉(zhuǎn)儲等功能,方便用戶針對需要監(jiān)控的指標設置警報。jConsole是免費的,適用于JDK 5.0及以上版本。
2. VisualVM
VisualVM是一種面向Java開發(fā)人員的多合一性能分析工具,可以用于本地和遠程監(jiān)控JVM進程,并且提供了豐富的內(nèi)存、線程、GC、CPU等指標信息,支持JMX、JVM TI、JVMTI插件等模式連接不同的JVM進程,并且提供了在多個進程間快速切換的功能。此外,VisualVM還可以對Java應用程序進行剖析和監(jiān)控,并且支持SaaS形式進行擴展。VisualVM是免費的,適用于所有的JDK版本。
3. jmap
jmap是一種命令行工具,可以生成堆轉(zhuǎn)儲文件(heap dump)、查看堆中的對象和空間使用狀況以及生成類似于jconsole的內(nèi)存分析報告。jmap可以在不停止JVM進程的情況下收集JVMheap dump,但是該進程會占用一定的內(nèi)存空間。jmap通常作為內(nèi)存泄漏或OOM的分析工具使用。
4. jstat
jstat是一種命令行工具,可以監(jiān)控JVM的垃圾回收、類加載、線程狀況等信息,可以以csv格式輸出指定時間間隔的JVM狀態(tài)。jstat通常用于性能監(jiān)控和調(diào)優(yōu),可以對JVM進程進行動態(tài)地和實時的監(jiān)控,便于用戶快速進行問題定位和調(diào)整。jstat是免費的,適用于所有的JDK版本。
5. gcviewer
gcviewer是一種基于Java實現(xiàn)的垃圾回收分析器,可以將不同的GC日志轉(zhuǎn)換成圖表顯示,同時提供了多種垃圾回收算法的可視化分析和對GC日志的高級分析功能。gcviewer可以方便地查看GC日志,并且通過圖表化方式展現(xiàn)垃圾回收的結(jié)果,支持不同的GC日志格式,也可以輸出到HTML或圖像文件中。gcviewer是免費的,適用于所有的JDK版本。
在本文中,我們介紹了一些高效實用的Linux JVM進程監(jiān)控工具,這些工具不僅可以幫助用戶對JVM的各種指標進行監(jiān)控和管理,還可以支持JVM的多種連接方式和輸出方式,具有比較好的可定制性和可擴展性。用戶可以根據(jù)自己的需求來選擇適合自己的工具,并且將這些監(jiān)控工具融合到應用程序的開發(fā)和優(yōu)化中,理順業(yè)務流程,提高企業(yè)的應用性能和效率。
成都網(wǎng)站建設公司-創(chuàng)新互聯(lián),建站經(jīng)驗豐富以策略為先導10多年以來專注數(shù)字化網(wǎng)站建設,提供企業(yè)網(wǎng)站建設,高端網(wǎng)站設計,響應式網(wǎng)站制作,設計師量身打造品牌風格,熱線:028-86922220Linux系統(tǒng)監(jiān)控命令及如何定位到Java線程
CPU資知模源時,按照以下步驟進行查找:
(一):通過【 top -pH】 查看java進巖念程的有哪些線程的運行情況;
和通過【jstack> stack.log】生成Java線程的dump詳細信息;
先用top命令找出占用資源厲害的java進程id,如圖:# top
如上圖所示,java的進程id為’52554′,接下來用top命令單獨對這個進程中的所有線程作監(jiān)視:
1 top -pH
# top視圖里面里面可以通過快捷鍵依次b ,x高亮顯示top的搭棗緩列找出需要的線程,默認CPU排序,Sh
桃花溪(張旭)
jvm 性能調(diào)優(yōu)工具之 jstat 命令詳解
Jstat名稱:Java Virtual Machine statistics monitoring tool
功能描述:
Jstat是JDK自帶的一個輕量級小工具。它位于java的bin目錄下,主要利用JVM內(nèi)建的指令對Java應用程序的資源和性能進行實時的命令行的監(jiān)控,包括了對Heap size和垃圾回收狀況的監(jiān)控。
命令用法:jstat
注意:使用的jdk版本是jdk8。
C:\Users\Administrator>jstat -helpUsage: jstat -help|-optionsjstat – > Definitions:An option reported by the -options optionVirtual Machine Identifier. A vmid takes the following form:> Where is the local vm identifier for the target Java virtual machine, typically a process id; is the name of the host running the target Java virtual machine; and is the port number for the rmiregistry on the target host. See the jvmstat documentation for a more complete description of the Virtual Machine Identifier.Number of samples between header lines. Sampling interval. The following forms are allowed: Where is an integer and the suffix specifies the units as milliseconds(“ms”) or seconds(“s”). The default units are “ms”.Number of samples to take before terminating. -J Pass directly to the runtime system.
option:參數(shù)選項
-t:可以在打印的列加上Timestamp列,用于顯示系統(tǒng)運行的時間
-h:可以在周期性數(shù)據(jù)輸出的時型蠢候,指定輸出多少行以后輸出一次表頭
vmid:Virtual Machine ID( 進程的 pid)
interval:執(zhí)行每次的間隔時間,單位為毫秒
count:用于指定輸出多少次記錄,缺省則會一直打印
option 可以從下面參數(shù)中選擇
jstat -options
-class 用卜悄陪于查看類加載情況的統(tǒng)計
-compiler 用于查看HotSpot中即時編譯器編譯情運檔況的統(tǒng)計
-gc 用于查看JVM中堆的垃圾收集情況的統(tǒng)計
-gccapacity 用于查看新生代、老生代及持久代的存儲容量情況
-gcmetacapacity 顯示metaspace的大小
-gcnew 用于查看新生代垃圾收集的情況
-gcnewcapacity 用于查看新生代存儲容量的情況
-gcold 用于查看老生代及持久代垃圾收集的情況
-gcoldcapacity 用于查看老生代的容量
-gcutil 顯示垃圾收集信息
-gccause 顯示垃圾回收的相關(guān)信息(通-gcutil),同時顯示最后一次僅當前正在發(fā)生的垃圾收集的原因
-printcompilation 輸出JIT編譯的方法信息
示例:
1.-class 類加載統(tǒng)計
# jps #先通過jps獲取到java進程號(這里是一個zookeeper進程)3346 QuorumPeerMain7063 Jps# jstat -class 3346 #統(tǒng)計JVM中加載的類的數(shù)量與sizeLoaded Bytes Unloaded Bytes Time. 0..02
Loaded:加載類的數(shù)量
Bytes:加載類的size,單位為Byte
Unloaded:卸載類的數(shù)目
Bytes:卸載類的size,單位為Byte
Time:加載與卸載類花費的時間
2.-compiler 編譯統(tǒng)計
# jstat -compiler 3346 #用于查看HotSpot中即時編譯器編譯情況的統(tǒng)計Compiled Failed Invalid Time FailedType FailedMethod0.
Compiled:編譯任務執(zhí)行數(shù)量
Failed:編譯任務執(zhí)行失敗數(shù)量
Invalid:編譯任務執(zhí)行失效數(shù)量
Time:編譯任務消耗時間
FailedType:最后一個編譯失敗任務的類型
FailedMethod:最后一個編譯失敗任務所在的類及方法
3.-gc 垃圾回收統(tǒng)計
# jstat -gc 3346 #用于查看JVM中堆的垃圾收集情況的統(tǒng)計 S0C S1C S0U S1U ECEUOCOUMC MU CCSC CCSU YGC YGCT FGC FGCT GCT 128.0 128.0 0…….0 8130.4 1024.0 996….019
S0C:年輕代中之一個survivor(幸存區(qū))的容量 (字節(jié))
S1C:年輕代中第二個survivor(幸存區(qū))的容量 (字節(jié))
S0U:年輕代中之一個survivor(幸存區(qū))目前已使用空間 (字節(jié))
S1U:年輕代中第二個survivor(幸存區(qū))目前已使用空間 (字節(jié))
EC:年輕代中Eden(伊甸園)的容量 (字節(jié))
EU:年輕代中Eden(伊甸園)目前已使用空間 (字節(jié))
OC:Old代的容量 (字節(jié))
OU:Old代目前已使用空間 (字節(jié))
MC:metaspace(元空間)的容量 (字節(jié))
MU:metaspace(元空間)目前已使用空間 (字節(jié))
CCSC:當前壓縮類空間的容量 (字節(jié))
CCSU:當前壓縮類空間目前已使用空間 (字節(jié))
YGC:從應用程序啟動到采樣時年輕代中g(shù)c次數(shù)
YGCT:從應用程序啟動到采樣時年輕代中g(shù)c所用時間(s)
FGC:從應用程序啟動到采樣時old代(全gc)gc次數(shù)
FGCT:從應用程序啟動到采樣時old代(全gc)gc所用時間(s)
GCT:從應用程序啟動到采樣時gc用的總時間(s)
4.-gccapacity 堆內(nèi)存統(tǒng)計
# jstat -gccapacity 3346 #用于查看新生代、老生代及持久代的存儲容量情況 NGCMN NGCMX NGC S0C S1CEC OGCMN OGCMXOGCOCMCMN MCMX MC CCN CCX CCSC YGC FGC 1280…0 128.0 128…………# jstat -gccapacity -h#-h5:每5行顯示一次表頭 1000:每1秒鐘顯示一次,單位為毫秒 NGCMN NGCMX NGC S0C S1CEC OGCMN OGCMXOGCOCMCMN MCMX MC CCN CCX CCSC YGC FGC 1280…0 128.0 128………… 1280…0 128.0 128………… 1280…0 128.0 128………… 1280…0 128.0 128………… 1280…0 128.0 128………… NGCMN NGCMX NGC S0C S1CEC OGCMN OGCMXOGCOCMCMN MCMX MC CCN CCX CCSC YGC FGC 1280…0 128.0 128………… 1280…0 128.0 128………… 1280…0 128.0 128………… 1280…0 128.0 128…………
NGCMN:年輕代(young)中初始化(最小)的大小(字節(jié))
NGCMX:年輕代(young)的更大容量 (字節(jié))
NGC:年輕代(young)中當前的容量 (字節(jié))
S0C:年輕代中之一個survivor(幸存區(qū))的容量 (字節(jié))
S1C:年輕代中第二個survivor(幸存區(qū))的容量 (字節(jié))
EC:年輕代中Eden(伊甸園)的容量 (字節(jié))
OGCMN:old代中初始化(最小)的大小 (字節(jié))
OGCMX:old代的更大容量(字節(jié))
OGC:old代當前新生成的容量 (字節(jié))
OC:Old代的容量 (字節(jié))
MCMN:metaspace(元空間)中初始化(最小)的大小 (字節(jié))
MCMX:metaspace(元空間)的更大容量 (字節(jié))
MC:metaspace(元空間)當前新生成的容量 (字節(jié))
CCN:最小壓縮類空間大小
CCX:更大壓縮類空間大小
CCSC:當前壓縮類空間大小
YGC:從應用程序啟動到采樣時年輕代中g(shù)c次數(shù)
FGC:從應用程序啟動到采樣時old代(全gc)gc次數(shù)
5.-gcmetacapacity 元數(shù)據(jù)空間統(tǒng)計
# jstat -gcmetacapacity 3346 #顯示元數(shù)據(jù)空間的大小MCMN MCMX MC CCN CCX CCSC YGC FGC FGCT GCT0..0 8448.0 0..0 1024..000 0.020
MCMN:最小元數(shù)據(jù)容量
MCMX:更大元數(shù)據(jù)容量
MC:當前元數(shù)據(jù)空間大小
CCN:最小壓縮類空間大小
CCX:更大壓縮類空間大小
CCSC:當前壓縮類空間大小
YGC:從應用程序啟動到采樣時年輕代中g(shù)c次數(shù)
FGC:從應用程序啟動到采樣時old代(全gc)gc次數(shù)
FGCT:從應用程序啟動到采樣時old代(全gc)gc所用時間(s)
GCT:從應用程序啟動到采樣時gc用的總時間(s)
6.-gcnew 新生代垃圾回收統(tǒng)計
# jstat -gcnew 3346 #用于查看新生代垃圾收集的情況S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT128.0 128.0 67.8 0..0 1024.0 362.2 8 0.020
S0C:年輕代中之一個survivor(幸存區(qū))的容量 (字節(jié))
S1C:年輕代中第二個survivor(幸存區(qū))的容量 (字節(jié))
S0U:年輕代中之一個survivor(幸存區(qū))目前已使用空間 (字節(jié))
S1U:年輕代中第二個survivor(幸存區(qū))目前已使用空間 (字節(jié))
TT:持有次數(shù)限制
MTT:更大持有次數(shù)限制
DSS:期望的幸存區(qū)大小
EC:年輕代中Eden(伊甸園)的容量 (字節(jié))
EU:年輕代中Eden(伊甸園)目前已使用空間 (字節(jié))
YGC:從應用程序啟動到采樣時年輕代中g(shù)c次數(shù)
YGCT:從應用程序啟動到采樣時年輕代中g(shù)c所用時間(s)
7.-gcnewcapacity 新生代內(nèi)存統(tǒng)計
# jstat -gcnewcapacity 3346 #用于查看新生代存儲容量的情況NGCMN NGCMX NGC S0CMX S0C S1CMX S1C ECMX EC YGC FGC1280..0 1280.0 8320.0 128.0 8320.0 128..0 1024.0 8 0
NGCMN:年輕代(young)中初始化(最小)的大小(字節(jié))
NGCMX:年輕代(young)的更大容量 (字節(jié))
NGC:年輕代(young)中當前的容量 (字節(jié))
S0CMX:年輕代中之一個survivor(幸存區(qū))的更大容量 (字節(jié))
S0C:年輕代中之一個survivor(幸存區(qū))的容量 (字節(jié))
S1CMX:年輕代中第二個survivor(幸存區(qū))的更大容量 (字節(jié))
S1C:年輕代中第二個survivor(幸存區(qū))的容量 (字節(jié))
ECMX:年輕代中Eden(伊甸園)的更大容量 (字節(jié))
EC:年輕代中Eden(伊甸園)的容量 (字節(jié))
YGC:從應用程序啟動到采樣時年輕代中g(shù)c次數(shù)
FGC:從應用程序啟動到采樣時old代(全gc)gc次數(shù)
8.-gcold 老年代垃圾回收統(tǒng)計
# jstat -gcold 3346 #用于查看老年代及持久代垃圾收集的情況MC MU CCSC CCSU OC OU YGC FGC FGCT GCT8448.0 8227.5 1024.0 1003..0 2102..000 0.020
MC:metaspace(元空間)的容量 (字節(jié))
MU:metaspace(元空間)目前已使用空間 (字節(jié))
CCSC:壓縮類空間大小
CCSU:壓縮類空間使用大小
OC:Old代的容量 (字節(jié))
OU:Old代目前已使用空間 (字節(jié))
YGC:從應用程序啟動到采樣時年輕代中g(shù)c次數(shù)
FGC:從應用程序啟動到采樣時old代(全gc)gc次數(shù)
FGCT:從應用程序啟動到采樣時old代(全gc)gc所用時間(s)
GCT:從應用程序啟動到采樣時gc用的總時間(s)
9.-gcoldcapacity 老年代內(nèi)存統(tǒng)計
# jstat -gcoldcapacity 3346 #用于查看老年代的容量OGCMN OGCMX OGC OC YGC FGC FGCT GCT15104…..000 0.020
OGCMN:old代中初始化(最小)的大小 (字節(jié))OGCMX:old代的更大容量(字節(jié))OGC:old代當前新生成的容量 (字節(jié))OC:Old代的容量 (字節(jié))YGC:從應用程序啟動到采樣時年輕代中g(shù)c次數(shù)FGC:從應用程序啟動到采樣時old代(全gc)gc次數(shù)FGCT:從應用程序啟動到采樣時old代(全gc)gc所用時間(s)GCT:從應用程序啟動到采樣時gc用的總時間(s) 在此我向大家推薦一個架構(gòu)學習交流圈。交流學習指導偽鑫:(里面有大量的面試題及答案)里面會分享一些資深架構(gòu)師錄制的視頻錄像:有Spring,MyBatis,Netty源碼分析,高并發(fā)、高性能、分布式、微服務架構(gòu)的原理,JVM性能優(yōu)化、分布式架構(gòu)等這些成為架構(gòu)師必備的知識體系。還能領(lǐng)取免費的學習資源,目前受益良多
10.-gcutil 垃圾回收統(tǒng)計
# jstat -gcutil 3346 #顯示垃圾收集信息S0 S1 E O M CCS YGC YGCT FGC FGCT GCT52.97 0.00 42.10 13.92 97.39 98.02 8 0..000 0.020
S0:年輕代中之一個survivor(幸存區(qū))已使用的占當前容量百分比
S1:年輕代中第二個survivor(幸存區(qū))已使用的占當前容量百分比
E:年輕代中Eden(伊甸園)已使用的占當前容量百分比
O:old代已使用的占當前容量百分比
M:元數(shù)據(jù)區(qū)已使用的占當前容量百分比
CCS:壓縮類空間已使用的占當前容量百分比
YGC :從應用程序啟動到采樣時年輕代中g(shù)c次數(shù)
YGCT :從應用程序啟動到采樣時年輕代中g(shù)c所用時間(s)
FGC :從應用程序啟動到采樣時old代(全gc)gc次數(shù)
FGCT :從應用程序啟動到采樣時old代(全gc)gc所用時間(s)
GCT:從應用程序啟動到采樣時gc用的總時間(s)
11.-gccause
# jstat -gccause 3346 #顯示垃圾回收的相關(guān)信息(通-gcutil),同時顯示最后一次或當前正在發(fā)生的垃圾回收的誘因S0 S1 E O M CCS YGC YGCT FGC FGCT GCT LGCC GCC52.97 0.00 46.09 13.92 97.39 98.02 8 0..000 0.020 Allocation Failure No GC
LGCC:最后一次GC原因
GCC:當前GC原因(No GC 為當前沒有執(zhí)行GC)
12.-printcompilation JVM編譯方法統(tǒng)計
# jstat -printcompilation 3346 #輸出JIT編譯的方法信息Compiled Size Type Methodsun/nio/ch/Util$2 clear
Compiled:編譯任務的數(shù)目
Size:方法生成的字節(jié)碼的大小
Type:編譯類型
Method:類名和方法名用來標識編譯的方法。類名使用/做為一個命名空間分隔符。方法名是給定類中的方法。上述格式是由-XX:+PrintComplation選項進行設置的
遠程監(jiān)控
與jps一樣,jstat也支持遠程監(jiān)控,同樣也需要開啟安全授權(quán),方法參照jps。
linux jvm進程監(jiān)控工具的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux jvm進程監(jiān)控工具,「高效實用!」Linux JVM進程監(jiān)控工具推薦,Linux系統(tǒng)監(jiān)控命令及如何定位到Java線程,jvm 性能調(diào)優(yōu)工具之 jstat 命令詳解的信息別忘了在本站進行查找喔。
成都創(chuàng)新互聯(lián)科技有限公司,經(jīng)過多年的不懈努力,公司現(xiàn)已經(jīng)成為一家專業(yè)從事IT產(chǎn)品開發(fā)和營銷公司。廣泛應用于計算機網(wǎng)絡、設計、SEO優(yōu)化、關(guān)鍵詞排名等多種行業(yè)!
名稱欄目:「高效實用!」LinuxJVM進程監(jiān)控工具推薦(linuxjvm進程監(jiān)控工具)
網(wǎng)址分享:http://m.fisionsoft.com.cn/article/coocscp.html


咨詢
建站咨詢
