天天看點

Java虛拟機監控名額及監控配置

版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。歡迎通路我的部落格 https://blog.csdn.net/smooth00/article/details/70229653

主要是對Java虛拟機(JVM)的遠端監視,如jdk自帶的工具jvisualvm就可監視記憶體(JVM)、垃圾收集(GC)和線程統計,針對不同的JVM廠商,如Sun JVM、IBM JVM和Oracle JRockit JVM,監控的名額有所差別,但大體都一樣。以下羅列了常見的JVM監控名額:

監控參數 描述
程序記憶體
Eden空間 (堆記憶體) 最初為大多數對象配置設定記憶體的池
幸存空間 (堆記憶體) 在eden空間的垃圾收集之後池中幸存的對象
Tenured Generation (堆記憶體) 在幸存空間中存在了一段時間的池中包含的對象
Java堆 JVM存儲對象的空間
Permanent Generation (非堆記憶體) 儲存虛拟機本身的所有反射資料,如類和方法對象。利用使用類資料共享的虛拟機,此記憶體可分為隻讀和讀寫區域。
代碼緩存 (非堆記憶體) 用于編譯和存儲本機代碼的記憶體。
JIT代碼緩存 存儲轉換的彙編語言并可使其高速執行的記憶體
Nursery 配置設定給新的對象的空間
線程參數
全部開始線程 java虛拟機運作開始後的全部線程的數量
最大線程 java虛拟機運作開始後最大的活動線程數量或該值被重置
活動線程 目前運作的活動線程數
守護線程 目前運作的背景程式線程數
可運作線程 在Java虛拟機中執行的線程
被阻塞線程 被阻止并等待螢幕鎖的線程
等待中的線程 無限期等待另一線程執行特定動作的線程
限時等待的線程 該線程等待其他線程執行動作,并且等待了表示的時間
死鎖線程 線程處于死鎖狀态的數量
類加載
載入的類 加載的類數
解除安裝的類 解除安裝的類數
JVM統計
CPU負荷 表示由JVM占用的機器的負荷
0表示無負荷,100表示滿負荷
CPU使用 表示伺服器上JVM使用CPU的資訊
主機記憶體參數
全部實體記憶體 實體記憶體MB
空閑實體記憶體 空閑實體記憶體MB
全部交換區域 交換區域空間大小MB
虛拟記憶體 用來運作程序的虛拟記憶體的大小MB
垃圾清理(GC)
花費時間/Min 收集資訊花費的大約時間(毫秒)
收集時間/Min 收集運作的大約時間ms
線程數 用于垃圾清理的線程數
上次開始時間 本次垃圾清理的開始時間
上次結束時間 本次垃圾清理的結束時間
清理前記憶體 本次垃圾清理前的記憶體使用情況
清理後記憶體 本次垃圾清理後的記憶體使用情況
垃圾收集 執行垃圾收集使用的時間
編譯時間 編譯(JIT)使用的時間

以下列出了一些需要監控的服務對象如何開啟JVM監控配置(隻要按以下方式配置并重新開機服務後,就可以通過jvisualvm等工具進行遠端監視)

說明:監控要求防火牆關閉或是放開指定端口,對于-Djava.rmi.server.hostname=172.16.1.152不是必須設定(除非有多于一個的網卡和IP)