日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

通过JConsole查看本地远程虚拟机

發(fā)布時(shí)間:2024/2/28 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过JConsole查看本地远程虚拟机 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


一、JConsole是什么

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

二、如何啟動(dòng)JConsole

  • 如果是從命令行啟動(dòng),使 JDK 在 PATH 上,運(yùn)行 jconsole 即可。
  • 如果從 GUI shell 啟動(dòng),找到 JDK 安裝路徑,打開 bin 文件夾,雙擊 jconsole
  • ??? 當(dāng)分析工具彈出時(shí)(取決于正在運(yùn)行的 Java 版本以及正在運(yùn)行的 Java 程序數(shù)量),可能會(huì)出現(xiàn)一個(gè)對(duì)話框,要求輸入一個(gè)進(jìn)程的 URL 來連接,也可能列出許多不同的本地 Java 進(jìn)程(有時(shí)包含 JConsole 進(jìn)程本身)來連接。如圖所示:


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

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

  • 本地程序(相對(duì)于開啟JConsole的計(jì)算機(jī)),無需設(shè)置任何參數(shù)就可以被本地開啟的JConsole連接(Java SE 6開始無需設(shè)置,之前還是需要設(shè)置運(yùn)行時(shí)參數(shù) -Dcom.sun.management.jmxremote )
  • 無認(rèn)證連接 (下面的設(shè)置表示:連接的端口為8999、無需認(rèn)證就可以被連接) Java代碼 ?
  • -Dcom.sun.management.jmxremote.port=8999?\??
  • -Dcom.sun.management.jmxremote.authenticate=false?\??
  • -Dcom.sun.management.jmxremote.ssl=false??
  • -Dcom.sun.management.jmxremote.port=8999 \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false ?
  • 如果考慮到安全因素,需要認(rèn)證,需要安全連接,也是可以搞定的。參考:http://download.oracle.com/javase/6/docs/technotes/guides/management/agent.html#gdenv
  • 四、JConsole如何連接遠(yuǎn)程機(jī)器的JAVA程序(舉例說明)

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

    Java代碼 ?
  • java?-cp?.?-Dcom.sun.management.jmxremote.port=8999?-Dcom.sun.managent.jmxremote.authenticate=false?-Dcom.sun.management.jmxremote.ssl=false?JConsoleTest??
  • 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)行連接

    可以直接使用命令:

    Java代碼 ?
  • jconsole.exe?192.168.0.181:8999??
  • jconsole.exe 192.168.0.181:8999

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

    ?



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

    性能分析

    下面說說如何分析,如何使用這六個(gè)標(biāo)簽

    • 概述: Displays overview information about the Java VM and monitored values.
    • 內(nèi)存: 顯示內(nèi)存使用信息
    • 線程: 顯示線程使用信息
    • 類: 顯示類裝載信息
    • *VM摘要:*顯示java VM信息
    • MBeans: 顯示 MBeans.

    概述

    ?

    ??? 概述很簡單沒啥說的,自己看看吧,不過值得一提的是對(duì)著圖點(diǎn)擊右鍵可以保存數(shù)據(jù)到CSV文件,以后可以使用其他工具來分析這些數(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)存問題進(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)線程(如果線程過多,可以在下面的過濾欄中輸入字符串過濾出你想要觀察的線程)。點(diǎn)擊某個(gè)顯示會(huì)顯示這個(gè)線程的名稱、狀態(tài)、阻塞和等待的次數(shù)、堆棧的信息。

    ?

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

    ?

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

    沒啥要說的。

    VM摘要

    ?

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

    MBean

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

    超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生

    總結(jié)

    以上是生活随笔為你收集整理的通过JConsole查看本地远程虚拟机的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。