1.介紹
北京網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)建站于2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)建站。
JConsole圖形用戶界面是符合Java管理擴展(JMX)規(guī)范的監(jiān)視工具,可以監(jiān)測有關在Java平臺上運行的應用程序的性能和資源消耗的信息。
啟動JConsole
jconsole [ options ] [ connection ... ]
connection = pid | host:port | jmxURL
-interval=n:設置更新間隔(默認4秒)
-notile :不平鋪 (for two or more connections).
-pluginpath plugins:指定目錄,及jar路徑。
jar中必須包含 META-INF/services/com.sun.tools.jconsole.JConsolePlugin
關于jmxURL,可以參考javax.management.remote.JMXServiceURL說明。
2.本地監(jiān)控
% jconsole #進程 % jconsole processID
3.遠程監(jiān)控
%jconsole hostName:portNum
3.1遠程監(jiān)控配置
設置此屬性注冊了Java VM平臺的MBean并通過專用接口發(fā)布了遠程方法調(diào)用(RMI)連接器,以允許JMX客戶端應用程序監(jiān)視本地Java平臺,即與JMX客戶機在同一臺機器上運行的Java VM 。
3.1開啟JMX端口
com.sun.management.jmxremote #JDK6以前版本,需要為Java SE示例應用程序記事本啟用JMX代理 %cd JDK_HOME /demo/jfc/ Notepad %java -Dcom.sun.management.jmxremote -jar Notepad.jar #JDK以后版本可以啟用開箱即用的管理代理監(jiān)視和管理 %java -jar Notepad.jar #portNum是要啟用JMX RMI連接的端口號 #設置此屬性將使用眾所周知的名稱“jmxrmi”在指定端口的私有只讀注冊表中發(fā)布一個附加的RMI連接 com.sun.management.jmxremote.port = portNum
對于生產(chǎn)系統(tǒng),使用SSL客戶端證書來驗證用戶管理的客戶端主機和密碼認證。
有關詳細信息,請參閱使用SSL和 使用LDAP身份驗證的主題。
3.2使用密碼認證
#開啟或禁用 com.sun.management.jmxremote.authenticate=false
3.2.1 LDAP(不熟悉,不討論)
com.sun.management.jmxremote.login.config
3.2.2 密碼認證
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8999 \-Dcom.sun.management.jmxremote.ssl=false \-Dcom.sun.management.jmxremote.authenticate=true \-Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password \-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access
其中com.sun.management.jmxremote.password.file可以從 JRE_HOME/lib/jmxremote.password.template模板獲得;
com.sun.management.jmxremote.access.file可以同JRE_HOME/lib/jmxremote.access模板獲得
4.功能
4.1選項卡
MBeans(MBeans):顯示有關MBean的信息。
4.1.1概述信息
“概述”選項卡顯示有關CPU使用情況,內(nèi)存使用情況,線程計數(shù)以及Java VM中加載的類的圖形監(jiān)視信息,均在單個屏幕中。
JConsole允許您將圖表中顯示的數(shù)據(jù)保存在逗號分隔值(CSV)文件中。要從圖表保存數(shù)據(jù),只需右鍵單擊任何圖表,
4.1.2 內(nèi)存選項卡
“內(nèi)存”選項卡提供有關內(nèi)存消耗和內(nèi)存池的信息。
Eden Space (heap): 最初為大多數(shù)對象分配內(nèi)存的池
Survivor Space (heap): 包含在Eden空間的垃圾回收中幸存下來的對象的池
Tenured Generation (heap):包含在幸存者空間中存在一段時間的對象的池
Permanent Generation (non-heap):包含虛擬機本身的所有反射數(shù)據(jù)的池,如類和方法對象。對于使用類數(shù)據(jù)共享的Java VM,這一代分為只讀和讀寫區(qū)
Code Cache (non-heap): HotSpot Java VM還包括代碼緩存,其中包含用于編譯和存儲本機代碼的內(nèi)存。
“ 詳細信息”區(qū)域顯示幾個當前內(nèi)存指標:
已使用(Used):當前使用的內(nèi)存量,包括所有對象占用的內(nèi)存,可訪問和不可訪問。
承諾(Committed):保證可供Java VM使用的內(nèi)存量。承諾的內(nèi)存量可能會隨時間而變化。Java虛擬機可能會將內(nèi)存釋放到系統(tǒng),并且已提交內(nèi)存的數(shù)量可能小于啟動時初始分配的內(nèi)存量。提交的內(nèi)存量將始終大于或等于已使用的內(nèi)存量。
最大值(Max):可用于內(nèi)存管理的最大內(nèi)存量。其價值可能會改變或未定義。即使所使用的數(shù)量小于或等于最大值(例如,當虛擬內(nèi)存系統(tǒng)較低時),如果Java VM嘗試增加使用的內(nèi)存大于已提交的內(nèi)存,則內(nèi)存分配可能會失敗。
GC時間:在垃圾收集上花費的累積時間和總調(diào)用次數(shù)。它可能有多行,每行都表示Java VM中使用的一個垃圾收集器算法。
右下方的條形圖顯示堆和非堆內(nèi)存中的內(nèi)存池所消耗的內(nèi)存。當使用的內(nèi)存超過內(nèi)存使用閾值時,該條將變?yōu)榧t色。您可以通過MemoryMXBean的屬性設置內(nèi)存使用閾值。
Heap and Non-Heap
非堆內(nèi)存包括所有線程之間共享的方法區(qū)域和Java VM的內(nèi)部處理或優(yōu)化所需的內(nèi)存。它存儲每個類的結構,例如運行時常量池,字段和方法數(shù)據(jù),以及方法和構造函數(shù)的代碼.
堆內(nèi)存是運行時數(shù)據(jù)區(qū)域,Java VM為此分配所有類實例和數(shù)組的內(nèi)存.
內(nèi)存池和內(nèi)存管理器
內(nèi)存池和內(nèi)存管理器是Java VM內(nèi)存系統(tǒng)的關鍵方面。
1.一個內(nèi)存池表示Java虛擬機管理的存儲區(qū)。Java VM具有至少一個內(nèi)存池,并且可能在執(zhí)行期間創(chuàng)建或刪除內(nèi)存池。內(nèi)存池可以屬于堆或非堆內(nèi)存。
2.一個內(nèi)存管理器管理一個或多個存儲池。垃圾回收器是一種負責回收由不可達對象使用的內(nèi)存的內(nèi)存管理器。Java VM可能有一個或多個內(nèi)存管理器。它可能會在執(zhí)行期間添加或刪除內(nèi)存管理器。內(nèi)存池可以由多個內(nèi)存管理器管理。
垃圾收集
有關更多信息,請參閱使用5.0 HotSpot VM調(diào)整垃圾收集。
4.1.3監(jiān)控線程使用
“線程”選項卡提供有關線程使用的信息。
左下角的線程列表列出了所有活動線程。如果在“過濾器”字段中輸入字符串,“線程”列表將只顯示名稱包含您輸入的字符串的線程。單擊“線程”列表中的線程名稱,以顯示有關該線程的信息,包括線程名稱,狀態(tài)和堆棧跟蹤。
圖表顯示隨著時間的推移活動線程數(shù)。顯示兩行。
紅色:峰值線程數(shù)
藍色:活動線程數(shù)。
線程MXBean提供了幾個其他有用的操作,這些操作未被“線程”選項卡覆蓋。
findMonitorDeadlockedThreads:檢測對象監(jiān)視器鎖上是否有任何線程死鎖。此操作返回一系列死鎖的線程ID。
getThreadInfo:返回線程信息。這包括名稱,堆棧跟蹤和線程當前被阻止的監(jiān)視器鎖(如果有)以及哪個線程持有該鎖以及線程爭用統(tǒng)計信息。
getThreadCpuTime:返回給定線程消耗的CPU時間。
2.檢測死鎖線程
檢測死鎖按鈕將檢測涉及對象監(jiān)視器和java.util.concurrent可自動同步器的死鎖周期(請參閱java.lang.management.LockInfo的API規(guī)范 文檔)。在Java SE 6中添加了對java.util.concurrent鎖的監(jiān)視支持 。如果JConsole連接到Java SE 5.0 VM,則檢測死鎖機制將只會發(fā)現(xiàn)與對象監(jiān)視器相關的死鎖。JConsole不會顯示與所有同步器相關的任何死鎖。
4.1.4 監(jiān)控類加載
“類”選項卡顯示有關類加載的信息。
紅線是加載的類的總數(shù)(包括隨后卸載的類)。
藍線是當前加載的類的數(shù)量。
選項卡底部的“詳細信息”部分顯示自Java VM啟動以來加載的類的總數(shù),當前加載的數(shù)量和卸載的數(shù)量。您可以通過選中右上角的復選框將類加載跟蹤設置為詳細輸出。
4.1.5 查看VM信息
“VM摘要”選項卡提供有關Java VM的信息。
Summary
Uptime: Java VM啟動以來的總時間
Process CPU Time: Java VM自啟動以來消耗的CPU總時間。
Total Compile Time:在JIT 編譯中花費的總累計時間
Threads
Live threads: 當前的守護進程線程數(shù)和非守護進程線程數(shù)。
Peak: 自Java VM啟動以來最多的實時線程數(shù)。
Daemon threads: 當前的守護進程線程數(shù)。
Total threads started: Java VM啟動后啟動的線程總數(shù),包括守護程序,非守護程序和已終止的線程。
Classes
Current classes loaded: 當前加載到內(nèi)存中的類數(shù)。
Total classes loaded:自Java VM啟動以來加載到內(nèi)存中的總數(shù),包括隨后卸載的類的總數(shù)。
Total classes unloaded:從Java VM啟動以來從內(nèi)存中卸載的類數(shù)。
Memory
Current heap size: 堆當前占用的千字節(jié)數(shù)。
Committed memory: 分配給堆使用的內(nèi)存總量。
Maximum heap size:堆占用的最大千字節(jié)數(shù)。
Objects pending for finalization:等待完成的對象數(shù)量。
Garbage collector: 有關垃圾收集的信息,包括垃圾回收器名稱,執(zhí)行的集合數(shù)以及執(zhí)行GC的總時間。
Operating System
Total physical memory:操作系統(tǒng)具有的隨機存取存儲器(RAM)的數(shù)量。
Free physical memory: 操作系統(tǒng)可用的可用內(nèi)存量。
Committed virtual memory: 保證運行進程可用的虛擬內(nèi)存量。
Other Information
VM arguments: 應用程序傳遞給Java VM的輸入?yún)?shù),不包括main方法的參數(shù)。
Class path: 系統(tǒng)類加載器用于搜索類文件的類路徑。
Library path: 加載庫時要搜索的路徑列表。
Boot class path:引導類路徑由引導類加載器用于搜索類文件。
參考資料
http://docs.oracle.com/javase/8/docs/technotes/guides/management/agent.html
http://docs.oracle.com/javase/8/docs/technotes/tools/unix/jconsole.html
http://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html
網(wǎng)站名稱:使用JConsole監(jiān)控
URL鏈接:http://www.chinadenli.net/article18/joipdp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設、網(wǎng)頁設計公司、網(wǎng)站排名、外貿(mào)建站、外貿(mào)網(wǎng)站建設、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)