java Jconsole调优
java gc參考:http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html
一、JConsole是什么
??? 從Java 5開始 引入了 JConsole。JConsole 是一個內置 Java 性能分析器,可以從命令行或在 GUI shell 中運行。您可以輕松地使用 JConsole(或者,它更高端的 “近親” VisualVM )來監控 Java 應用程序性能和跟蹤 Java 中的代碼。
二、如何啟動JConsole
??? 當分析工具彈出時(取決于正在運行的 Java 版本以及正在運行的 Java 程序數量),可能會出現一個對話框,要求輸入一個進程的 URL 來連接,也可能列出許多不同的本地 Java 進程(有時包含 JConsole 進程本身)來連接。如圖所示:
想分析那個程序就雙擊那個進程。
三、如何設置JAVA程序運行時可以被JConsolse連接分析
四、JConsole如何連接遠程機器的JAVA程序(舉例說明)
1、寫一個簡單的一直運行的JAVA程序,運行在某臺機器上如(192.168.0.181)
Java代碼??2、另外一臺機器進行連接
可以直接使用命令:
Java代碼???也可以在已經打開的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
這里可以有一些額外的操作。
插件
Java代碼?? ?
一看便知,是個什么東西。
推薦使用升級版 JConsole 即 jvisualvm 。
總結
以上是生活随笔為你收集整理的java Jconsole调优的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle建表后添加数据报错:ORA-
- 下一篇: java 普通项目转web项目