程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 若何應用JConsole不雅察剖析Java法式的運轉並停止排錯調優

若何應用JConsole不雅察剖析Java法式的運轉並停止排錯調優

編輯:關於JAVA

若何應用JConsole不雅察剖析Java法式的運轉並停止排錯調優。本站提示廣大學習愛好者:(若何應用JConsole不雅察剖析Java法式的運轉並停止排錯調優)文章只能為提供參考,不一定能成為您想要的結果。以下是若何應用JConsole不雅察剖析Java法式的運轉並停止排錯調優正文


1、JConsole是甚麼

從Java 5開端 引入了 JConsole。JConsole 是一個內置 Java 機能剖析器,可以從敕令行或在 GUI shell 中運轉。您可以輕松地應用 JConsole(或許,它更高真個 “遠親” VisualVM )來監控 Java 運用法式機能和跟蹤 Java 中的代碼。

2、若何啟動JConsole
1.假如是從敕令行啟動,使 JDK 在 PATH 上,運轉 jconsole 便可。
2.假如從 GUI shell 啟動,找到 JDK 裝置途徑,翻開 bin 文件夾,雙擊 jconsole 。

當剖析對象彈出時(取決於正在運轉的 Java 版本和正在運轉的 Java 法式數目),能夠會湧現一個對話框,請求輸出一個過程的 URL 來銜接,也能夠列出很多分歧的當地 Java 過程(有時包括 JConsole 過程自己)來銜接。如圖所示:

想剖析誰人法式就雙擊誰人過程。

3、若何設置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

4、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

 

一看便知,是個甚麼器械。

推舉應用進級版 JConsole 即 jvisualvm 。

關於jvisualvm的應用,-> http://www.jb51.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
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved