最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何利用JConsole觀察分析Java程序的運(yùn)行并進(jìn)行排錯(cuò)調(diào)優(yōu)

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

一、JConsole是什么

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

二、如何啟動(dòng)JConsole
1.如果是從命令行啟動(dòng),使 JDK 在 PATH 上,運(yùn)行 jconsole 即可。
2.如果從 GUI shell 啟動(dòng),找到 JDK 安裝路徑,打開(kāi) bin 文件夾,雙擊 jconsole 。

當(dāng)分析工具彈出時(shí)(取決于正在運(yùn)行的 Java 版本以及正在運(yùn)行的 Java 程序數(shù)量),可能會(huì)出現(xiàn)一個(gè)對(duì)話框,要求輸入一個(gè)進(jìn)程的 URL 來(lái)連接,也可能列出許多不同的本地 Java 進(jìn)程(有時(shí)包含 JConsole 進(jìn)程本身)來(lái)連接。如圖所示:

想分析那個(gè)程序就雙擊那個(gè)進(jìn)程。

三、如何設(shè)置JAVA程序運(yùn)行時(shí)可以被JConsolse連接分析

1.本地程序(相對(duì)于開(kāi)啟JConsole的計(jì)算機(jī)),無(wú)需設(shè)置任何參數(shù)就可以被本地開(kāi)啟的JConsole連接(Java SE 6開(kāi)始無(wú)需設(shè)置,之前還是需要設(shè)置運(yùn)行時(shí)參數(shù) -Dcom.sun.management.jmxremote )
2.無(wú)認(rèn)證連接 (下面的設(shè)置表示:連接的端口為8999、無(wú)需認(rèn)證就可以被連接)

-Dcom.sun.management.jmxremote.port=8999 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false

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

四、JConsole如何連接遠(yuǎn)程機(jī)器的JAVA程序(舉例說(shuō)明)

1、寫(xiě)一個(gè)簡(jiǎn)單的一直運(yùn)行的JAVA程序,運(yùn)行在某臺(tái)機(jī)器上如(192.168.0.181)

復(fù)制代碼 代碼如下:

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

2、另外一臺(tái)機(jī)器進(jìn)行連接

可以直接使用命令:

復(fù)制代碼 代碼如下:

jconsole.exe 192.168.0.181:8999

也可以在已經(jīng)打開(kāi)的JConsole界面操作 連接->新建連接->選擇遠(yuǎn)程進(jìn)程->輸入遠(yuǎn)程主機(jī)IP和端口號(hào)->點(diǎn)擊“連接”,如圖:


然后就會(huì)進(jìn)入分析界面: 

性能分析

下面說(shuō)說(shuō)如何分析,如何使用這六個(gè)標(biāo)簽
• 概述: Displays overview information about the Java VM and monitored values.
• 內(nèi)存: 顯示內(nèi)存使用信息
• 線程: 顯示線程使用信息
• 類(lèi): 顯示類(lèi)裝載信息
•*VM摘要:*顯示java VM信息
• MBeans: 顯示 MBeans.

然后就會(huì)進(jìn)入分析界面: 

概述

 

    概述很簡(jiǎn)單沒(méi)啥說(shuō)的,自己看看吧,不過(guò)值得一提的是對(duì)著圖點(diǎn)擊右鍵可以保存數(shù)據(jù)到CSV文件,以后可以使用其他工具來(lái)分析這些數(shù)據(jù)。

內(nèi)存

這個(gè)比較有價(jià)值,參看堆內(nèi)存,非堆內(nèi)存,內(nèi)存池的狀況總體內(nèi)存的分配和使用情況以及不同的GC進(jìn)行垃圾回收的次數(shù)和時(shí)間??梢允謩?dòng)進(jìn)行GC查看內(nèi)存變化。

 

   在分析JAVA內(nèi)存問(wèn)題進(jìn)行調(diào)優(yōu)時(shí)候非常有用,你要學(xué)習(xí)JVM內(nèi)存模型,之后會(huì)發(fā)現(xiàn)這里的每個(gè)值都具有意義。

 

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

 

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

 


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

線程

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

 

    統(tǒng)計(jì)圖顯示的是線程數(shù)目的峰值(紅色)和當(dāng)前活動(dòng)的線程(藍(lán)色)。

 

   另外下面有個(gè)按鈕“檢測(cè)到死鎖”,有時(shí)候會(huì)有用處。

類(lèi)

沒(méi)啥要說(shuō)的。

VM摘要

 

也沒(méi)啥要說(shuō)的,看看吧,內(nèi)存狀況,操作系統(tǒng)...

MBean

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

插件

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

 

一看便知,是個(gè)什么東西。

推薦使用升級(jí)版 JConsole 即 jvisualvm 。

關(guān)于jvisualvm的使用,-> http://m.fzitv.net/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

相關(guān)文章

  • SpringBoot2基于重復(fù)創(chuàng)建bean的問(wèn)題及解決

    SpringBoot2基于重復(fù)創(chuàng)建bean的問(wèn)題及解決

    這篇文章主要介紹了SpringBoot2基于重復(fù)創(chuàng)建bean的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • springboot如何讀取application.yml文件

    springboot如何讀取application.yml文件

    這篇文章主要介紹了springboot如何讀取application.yml文件的方法,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下
    2020-12-12
  • Java基于FFmpeg實(shí)現(xiàn)Mp4視頻轉(zhuǎn)GIF

    Java基于FFmpeg實(shí)現(xiàn)Mp4視頻轉(zhuǎn)GIF

    FFmpeg是一套可以用來(lái)記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開(kāi)源計(jì)算機(jī)程序。本文主要介紹了在Java中如何基于FFmpeg進(jìn)行Mp4視頻到Gif動(dòng)圖的轉(zhuǎn)換,感興趣的小伙伴可以了解一下
    2022-11-11
  • spring-mybatis與原生mybatis使用對(duì)比分析

    spring-mybatis與原生mybatis使用對(duì)比分析

    這篇文章主要介紹了spring-mybatis與原生mybatis使用對(duì)比分析,需要的朋友可以參考下
    2017-11-11
  • java8日期工具類(lèi)封裝的實(shí)戰(zhàn)記錄

    java8日期工具類(lèi)封裝的實(shí)戰(zhàn)記錄

    java time包中的是類(lèi)是不可變且線程安全的,新的時(shí)間及日期API位于java.time中,下面這篇文章主要給大家介紹了關(guān)于java8日期工具類(lèi)封裝的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • Java下載文件時(shí)文件名亂碼問(wèn)題解決辦法

    Java下載文件時(shí)文件名亂碼問(wèn)題解決辦法

    我最近在開(kāi)發(fā)時(shí)遇到了文件另存為時(shí)文件名出現(xiàn)亂碼,在火狐上正常的文件名,在IE中又出現(xiàn)亂碼問(wèn)題,然后好不容易在IE下調(diào)試好了文件名亂碼問(wèn)題,在火狐下又出現(xiàn)亂碼,最后終于感覺(jué)這樣是能解決了。具體如下:
    2013-04-04
  • IDEA代碼規(guī)范插件P3C+代碼注釋模板配置方法

    IDEA代碼規(guī)范插件P3C+代碼注釋模板配置方法

    這篇文章主要介紹了IDEA代碼規(guī)范插件P3C+代碼注釋模板配置方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • java實(shí)現(xiàn)oracle插入當(dāng)前時(shí)間的方法

    java實(shí)現(xiàn)oracle插入當(dāng)前時(shí)間的方法

    這篇文章主要介紹了java實(shí)現(xiàn)oracle插入當(dāng)前時(shí)間的方法,以實(shí)例形式對(duì)比分析了java使用Oracle操作時(shí)間的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • 詳解JAVA常用的時(shí)間操作【實(shí)用】

    詳解JAVA常用的時(shí)間操作【實(shí)用】

    本文主要介紹了JAVA一些常用的時(shí)間操作,很實(shí)用,相信大家在開(kāi)發(fā)項(xiàng)目時(shí)會(huì)用到,下面就跟小編一起來(lái)看下吧
    2016-12-12
  • 劍指Offer之Java算法習(xí)題精講排列與N叉樹(shù)

    劍指Offer之Java算法習(xí)題精講排列與N叉樹(shù)

    跟著思路走,之后從簡(jiǎn)單題入手,反復(fù)去看,做過(guò)之后可能會(huì)忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會(huì)發(fā)現(xiàn)質(zhì)的變化
    2022-03-03

最新評(píng)論

新野县| 屏东市| 呼玛县| 涿鹿县| 治县。| 且末县| 同德县| 永年县| 遂昌县| 武穴市| 临武县| 清新县| 岳阳市| 天台县| 松阳县| 西吉县| 张掖市| 禄丰县| 江达县| 桃园县| 财经| 阿克陶县| 长子县| 武强县| 元阳县| 剑阁县| 高要市| 抚远县| 南皮县| 板桥市| 仪征市| 大厂| 嘉善县| 海城市| 南郑县| 英德市| 阳城县| 潮安县| 阿荣旗| 漳浦县| 博湖县|