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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

利用jdk自带的运行监控工具JConsole观察分析Java程序的运行 Jtop

發布時間:2023/11/30 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用jdk自带的运行监控工具JConsole观察分析Java程序的运行 Jtop 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

利用jdk自帶的運行監控工具JConsole觀察分析Java程序的運行

原文鏈接

一、JConsole是什么

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

二、如何啟動JConsole

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


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

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

  • 本地程序(相對于開啟JConsole的計算機),無需設置任何參數就可以被本地開啟的JConsole連接(Java SE 6開始無需設置,之前還是需要設置運行時參數 -Dcom.sun.management.jmxremote )
  • 無認證連接 (下面的設置表示:連接的端口為8999、無需認證就可以被連接)
  • -Dcom.sun.management.jmxremote.port=8999?\??
  • -Dcom.sun.management.jmxremote.authenticate=false?\??
  • -Dcom.sun.management.jmxremote.ssl=false??
  • ?
  • 如果考慮到安全因素,需要認證,需要安全連接,也是可以搞定的。參考: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進行垃圾回收的次數和時間。可以手動進行GC查看內存變化。

    ?

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

    ?

    ?? 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

    線程


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

    ?

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

    ?

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


    沒啥要說的。

    VM摘要

    ?

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

    MBean


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

    插件

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

    下載地址:http://download.csdn.net/detail/hanghangaidoudou/9857777

    總結

    以上是生活随笔為你收集整理的利用jdk自带的运行监控工具JConsole观察分析Java程序的运行 Jtop的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。