VisualVM

一、基本信息

定義:VisualVM是一種集成了多個JDK命令行工具的可視化工具,主要提供對應用程序強大的分析能力。

作用:能夠監控線程,內存情況,查看方法的CPU時間和內存中的對象,以及已經被GC的對象、反向查看分配的堆棧(如100String對象分別由哪幾個對象分配出來的)。

位置:JDK_HOME/bin(默認是C:\Program Files\Java\jdk1.6.0_13\bin)目錄下面,有一個jvisualvm.exe文件,雙擊打開,從UI上來看,這個軟件是基於NetBeans開發的了。

效果:當本地有java程序運行時,本地節點下就會有相對應的java應用程序

二、visualvm監控

JVM  基礎信息:

JVM啓動參數JRE取得系統參數

JVM 參數一般在catalina.bat可以配置

例如:-Xms256M -Xmx512M

系統參數: 平時可以用個System.getProperties();

java應用程序

內存使用情況、線程情況、JVM啓動參數、cpu消耗情況、垃圾回收情況

等參數

三、用VisualVM解決問題:

1.利用VisualVM解決內存溢出問題

當這裏超過指定的最大內存

Runtime.getRuntime().maxMemory();的值。

在下面類的裝載穩定後,查看PermGen佔大約多少內存,然後得到穩定最大內存,然後在啓動時,將這個值設置爲最大內存值就可以解決了。

2.通過visualvmtomcat的線程情況,此方法對壓力測試時,很直觀。

開啓進程時

結束進程時

雙擊查看詳細:

3.使用visulvm查看CPU、內存使用情況

VisualVM提供CPU、內存監視功能,可以看到那些類消耗了CPU、內存,當應用耗費CPU、內存過高時,可以通過此功能對應用進行追蹤並調查原因。

:單次只可以對同一個應用進行監視

4.在抽樣器中可以搜索類、方法等

附錄:

系統參數對照表

java.version

Java 運行時環境版本

java.vendor

Java 運行時環境供應商

java.vendor.url

Java 供應商的 URL

java.home

Java 安裝目錄

java.vm.specification.version

Java 虛擬機規範版本

java.vm.specification.vendor

Java 虛擬機規範供應商

java.vm.specification.name

Java 虛擬機規範名稱

java.vm.version

Java 虛擬機實現版本

java.vm.vendor

Java 虛擬機實現供應商

java.vm.name

Java 虛擬機實現名稱

java.specification.version

Java 運行時環境規範版本

java.specification.vendor

Java 運行時環境規範供應商

java.specification.name

Java 運行時環境規範名稱

java.class.version

Java 類格式版本號

java.class.path

Java 類路徑

java.library.path

加載庫時搜索的路徑列表

java.io.tmpdir

默認的臨時文件路徑

java.compiler

要使用的 JIT 編譯器的名稱

java.ext.dirs

一個或多個擴展目錄的路徑

os.name

操作系統的名稱

os.arch

操作系統的架構

os.version

操作系統的版本

file.separator

文件分隔符(在 UNIX 系統中是“/”)

path.separator

路徑分隔符(在 UNIX 系統中是“:”)

line.separator

行分隔符(在 UNIX 系統中是“/n”)

user.name

用戶的賬戶名稱

user.home

用戶的主目錄

user.dir

用戶的當前工作目錄


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章