利用JConsole工具監控java程序內存和JVM

一.找到java應用程序對應的進程PIjava

性能測試應用程序訪問地址:http://192.168.29.218:7070/training/tomcat

部署的應用服務器爲tomcat6.028服務器

  1. 啓動tomcat服務器後,任務管理器裏能夠看到多了java.exe進程,如圖

PS:這裏啓動了多個其餘程序工具

      2.查詢測試應用程序對應的進程PID號(根據端口號查找)性能

          1)  Cmd命令:netstat  -aon|findstr  "7070"測試

二.啓動JConsole監控工具線程

方法一:htm

打開cmd命令窗口,進入jdk安裝路徑下/bin目錄,對象

輸入命令:JConsole 「PID號」 如圖:blog

如圖自動啓動並打開JConsole監控界面:

方法二:進入jdk安裝目錄bin目錄下,雙擊運行JConsole.exe程序,選擇應用程序對應的PID程序鏈接或雙擊便可

三.對圖表進行性能分析

JConsole主要是監控java應用程序,它是jdk自帶的工具,一個基於JMX用於鏈接正在運行的JVM,會啓動com.sun.management.jmxremote實現默認地JMX管理客戶端。

1)  概要

概要界面能夠實時查看java應用程序的堆內存使用狀況、線程、類以及CPU使用狀況,如圖:

2)  內存

內存界面能夠在圖表選擇「堆內存使用狀況」和「非堆內存使用狀況」實時圖,並顯示內存詳細信息:使用內存、分配:最大值等,如圖:

PS:重點關注使用內存的佔比,使用內存與最大值之間的合理比值爲1:3,已使用內存不能大於1/2最大值,不然內存存在瓶頸。

3)  線程

線程圖不是重點關注,只關注該線程狀況,並能夠檢測是否有死鎖線程。

4)  類

類圖並非重點關注圖,與應用程序類的多少有關,無固定值。

1)  VM摘要

VM摘要圖是觀察JVM使用狀況圖

堆是由Java虛擬機(JVM,下文提到的JVM特指Sun hotspot JVM)用來存放Java類、對象和靜態成員的內存空間,Java程序中建立的全部對象都在堆中分配空間,堆只用來存儲對象,應用程序經過存放在堆棧(Stack)內的引用來訪問堆數據,一個JVM進程只能擁有一個堆。JVM經過-Xms和-Xmx參數分別設置堆的初始值和最大值。

此圖須要關注分析當前堆大小、堆大小的最大值、分配的內存,以及物理總內存和可用物理內存。

相關文章
相關標籤/搜索