一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 如何利用JConsole觀察分析Java程序的運行并進行排錯調優

如何利用JConsole觀察分析Java程序的運行并進行排錯調優

2020-03-14 15:34mdxy-dxy JAVA教程

從Java 5開始 引入了 JConsole。JConsole 是一個內置 Java 性能分析器,可以從命令行或在 GUI shell 中運行。您可以輕松地使用 JConsole(或者,它更高端的 “近親” VisualVM )來監控 Java 應用程序性能和跟蹤 Java 中的代碼

一、JConsole是什么

從Java 5開始 引入了 JConsole。JConsole 是一個內置 Java 性能分析器,可以從命令行或在 GUI shell 中運行。您可以輕松地使用 JConsole(或者,它更高端的 “近親” VisualVM )來監控 Java 應用程序性能和跟蹤 Java 中的代碼。

二、如何啟動JConsole
1.如果是從命令行啟動,使 JDK 在 PATH 上,運行 jconsole 即可。
2.如果從 GUI shell 啟動,找到 JDK 安裝路徑,打開 bin 文件夾,雙擊 jconsole 。

當分析工具彈出時(取決于正在運行的 Java 版本以及正在運行的 Java 程序數量),可能會出現一個對話框,要求輸入一個進程的 URL 來連接,也可能列出許多不同的本地 Java 進程(有時包含 JConsole 進程本身)來連接。如圖所示:

如何利用JConsole觀察分析Java程序的運行并進行排錯調優

想分析那個程序就雙擊那個進程。

三、如何設置JAVA程序運行時可以被JConsolse連接分析

1.本地程序(相對于開啟JConsole的計算機),無需設置任何參數就可以被本地開啟的JConsole連接(Java SE 6開始無需設置,之前還是需要設置運行時參數 -Dcom.sun.management.jmxremote )
2.無認證連接 (下面的設置表示:連接的端口為8999、無需認證就可以被連接)

?
1
2
3
-Dcom.sun.management.jmxremote.port=8999 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false

3.如果考慮到安全因素,需要認證,需要安全連接,也是可以搞定的。參考:http://download.oracle.com/javase/6/docs/technotes/guides/management/agent.html#gdenv

四、JConsole如何連接遠程機器的JAVA程序(舉例說明)

1、寫一個簡單的一直運行的JAVA程序,運行在某臺機器上如(192.168.0.181)

 

復制代碼 代碼如下:

java -cp . -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.managent.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false JConsoleTest

 

2、另外一臺機器進行連接

可以直接使用命令:

 

復制代碼 代碼如下:

jconsole.exe 192.168.0.181:8999

 

也可以在已經打開的JConsole界面操作 連接->新建連接->選擇遠程進程->輸入遠程主機IP和端口號->點擊“連接”,如圖:

如何利用JConsole觀察分析Java程序的運行并進行排錯調優
然后就會進入分析界面: 

性能分析

下面說說如何分析,如何使用這六個標簽
• 概述: Displays overview information about the Java VM and monitored values.
• 內存: 顯示內存使用信息
• 線程: 顯示線程使用信息
• 類: 顯示類裝載信息
•*VM摘要:*顯示java VM信息
• MBeans: 顯示 MBeans.

然后就會進入分析界面: 

概述

如何利用JConsole觀察分析Java程序的運行并進行排錯調優

 

    概述很簡單沒啥說的,自己看看吧,不過值得一提的是對著圖點擊右鍵可以保存數據到CSV文件,以后可以使用其他工具來分析這些數據。

內存

如何利用JConsole觀察分析Java程序的運行并進行排錯調優

這個比較有價值,參看堆內存,非堆內存,內存池的狀況總體內存的分配和使用情況以及不同的GC進行垃圾回收的次數和時間。可以手動進行GC查看內存變化。

 

   在分析JAVA內存問題進行調優時候非常有用,你要學習JVM內存模型,之后會發現這里的每個值都具有意義。

 

   GC的算法和參數對性能有顯著的影響,注意垃圾回收次數、時間、以及partial GC和full GC,調整你所使用的不同GC和以及各個GC下的參數,然后在這個視圖下觀察,以得到好的性能。

 

這里貼一下 Java HotSpot VM garbage collector 下generational GC 的各代的劃分圖:

 


如何利用JConsole觀察分析Java程序的運行并進行排錯調優

關于GC,可以參考:http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html

線程

如何利用JConsole觀察分析Java程序的運行并進行排錯調優

    左下角顯示所有的活動線程(如果線程過多,可以在下面的過濾欄中輸入字符串過濾出你想要觀察的線程)。點擊某個顯示會顯示這個線程的名稱、狀態、阻塞和等待的次數、堆棧的信息。

 

    統計圖顯示的是線程數目的峰值(紅色)和當前活動的線程(藍色)。

 

   另外下面有個按鈕“檢測到死鎖”,有時候會有用處。

如何利用JConsole觀察分析Java程序的運行并進行排錯調優

沒啥要說的。

VM摘要

如何利用JConsole觀察分析Java程序的運行并進行排錯調優

 

也沒啥要說的,看看吧,內存狀況,操作系統...

MBean

如何利用JConsole觀察分析Java程序的運行并進行排錯調優

這里可以有一些額外的操作。

插件

jconsole -pluginpath C:\Java\jdk1.6.0_22\demo\management\JTop\JTop.jar

 
如何利用JConsole觀察分析Java程序的運行并進行排錯調優

一看便知,是個什么東西。

推薦使用升級版 JConsole 即 jvisualvm 。

參考資料:

  1. Monitoring and Management Using JConsole :http://download.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html
  2. http://download.oracle.com/javase/6/docs/technotes/guides/management/agent.html Monitoring and Management Using JMX Technology :http://download.oracle.com/javase/6/docs/technotes/guides/management/agent.html
  3. Eclipse launcher for VisualVM : http://visualvm.dev.java.net/eclipse-launcher.html
  4. Tuning Garbage Collection with the 5.0 Java[tm] Virtual Machine : http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 5278欧美一区二区三区 | 青青成人 | 国产视频中文字幕 | 国产精品久久久精品日日 | 日韩在线 中文字幕 | 亚洲天堂男人天堂 | 欧美在线视频免费播放 | 涩涩国产精品福利在线观看 | 美女福利视频一区二区 | 微拍秒拍99福利精品小视频 | www.四虎.com| 欧美办公室silkstocking | 青青青国产在线观看 | 大ji巴好好爽好深网站 | 日本加勒比在线精品视频 | 欧美一卡2卡3卡无卡 | 天天色踪合合 | 男人桶女下面60分钟视频 | 国产福利不卡 | 精品91一区二区三区 | 美女脱了内裤让男生尿囗 | 99久久精品国内 | 色聚网久久综合 | yellow在线| 99久久精品国产片久人 | 色姑娘久 | 亚洲男人精品 | 天天综合天天影视色香欲俱全 | 青青青手机在线观看 | 国产一区二区视频在线播放 | 欧美国产日韩综合 | 激情视频亚洲 | 午夜在线观看免费观看 视频 | 女八把屁股扒开让男生添 | 国产亚洲视频在线 | 日韩黄色影视 | 国产手机在线观看 | 大学生特黄特色大片免费播放 | 好男人在线观看hd中字 | 精品国产国产精2020久久日 | jizzjizz大学生 |