亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2015年12月28日 23:56:25   投稿:mdxy-dxy  
從Java 5開始 引入了 JConsole。JConsole 是一個內置 Java 性能分析器,可以從命令行或在 GUI shell 中運行。您可以輕松地使用 JConsole(或者,它更高端的 “近親” VisualVM )來監(jiān)控 Java 應用程序性能和跟蹤 Java 中的代碼

一、JConsole是什么

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

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

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

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

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

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

-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和端口號->點擊“連接”,如圖:


然后就會進入分析界面: 

性能分析

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

然后就會進入分析界面: 

概述

 

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

內存

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

 

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

 

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

 

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

 


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

線程

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

 

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

 

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

沒啥要說的。

VM摘要

 

也沒啥要說的,看看吧,內存狀況,操作系統(tǒng)...

MBean

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

插件

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

 

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

推薦使用升級版 JConsole 即 jvisualvm 。

關于jvisualvm的使用,-> http://chabaoo.cn/article/77131.htm

參考資料:

  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

相關文章

  • java仿windows記事本小程序

    java仿windows記事本小程序

    這篇文章主要為大家詳細介紹了java仿windows記事本小程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • 詳解Java?中的函數式接口

    詳解Java?中的函數式接口

    這篇文章主要為大家介紹了Java中的函數式接口,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助<BR>
    2021-12-12
  • java實現單源最短路徑

    java實現單源最短路徑

    這篇文章主要為大家詳細介紹了java實現單源最短路徑,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Java實現簡易圖書借閱系統(tǒng)

    Java實現簡易圖書借閱系統(tǒng)

    這篇文章主要為大家詳細介紹了Java實現簡易圖書借閱系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Fluent Mybatis,原生Mybatis,Mybatis Plus三者功能對比

    Fluent Mybatis,原生Mybatis,Mybatis Plus三者功能對比

    本文主要介紹了Fluent Mybatis,原生Mybatis,Mybatis Plus三者功能對比,分享給大家,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • spring整合atomikos實現分布式事務的方法示例

    spring整合atomikos實現分布式事務的方法示例

    本文整合了一個spring和atomikos的demo,并且通過案例演示說明atomikos的作用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • 詳解APP微信支付(java后臺_統(tǒng)一下單和回調)

    詳解APP微信支付(java后臺_統(tǒng)一下單和回調)

    這篇文章主要介紹了APP微信支付(java后臺_統(tǒng)一下單和回調),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • Java Map.getOrDefault方法詳解

    Java Map.getOrDefault方法詳解

    Map.getOrDefault(Object key, V defaultValue)是Java中Map接口的一個方法,用于獲取指定鍵對應的值,如果鍵不存在,則返回一個默認值,這篇文章主要介紹了Java Map.getOrDefault方法詳解,需要的朋友可以參考下
    2024-01-01
  • Java適配器模式應用之電源適配器功能詳解

    Java適配器模式應用之電源適配器功能詳解

    這篇文章主要介紹了Java適配器模式應用之電源適配器功能,較為詳細的分析了適配器模式的概念、原理及Java基于適配器模式實現電源適配器功能的相關操作技巧與注意事項,需要的朋友可以參考下
    2018-05-05
  • 深入Java7的一些新特性以及對腳本語言支持API的介紹

    深入Java7的一些新特性以及對腳本語言支持API的介紹

    本篇文章是對Java7的一些新特性以及對腳本語言支持API的概述,需要的朋友參考下
    2013-05-05

最新評論