VisualVM作為一款Java故障排除工具,VisualVM集合了jdk命令行工具以及輕量級(jí)分析功能的可視化工具,VisualVM可以通過(guò)檢測(cè)JVM中加載的類和對(duì)象信息等幫助用戶們分析內(nèi)存使用情況,用于對(duì)Java應(yīng)用程序做性能分析和調(diào)優(yōu)。同時(shí)軟件監(jiān)控應(yīng)用程序在一段時(shí)間的CPU的使用情況,用戶也能通過(guò)VisualVM的監(jiān)視標(biāo)簽和Profiler標(biāo)簽對(duì)應(yīng)用程序隊(duì)CPU性能分析,非常實(shí)用。有需要用戶不妨來(lái)下載體驗(yàn)一下吧!
visualvm使用
一、安裝
1、將VisualVM安裝程序解壓縮到本地系統(tǒng)。
2、導(dǎo)航至安裝目錄的bin目錄,然后啟動(dòng)jvisualvm.exe。
二、安裝 VisualVM 上的插件
VisualVM 插件中心提供很多插件以供安裝向 VisualVM 添加功能??梢酝ㄟ^(guò) VisualVM 應(yīng)用程序安裝,或者從 VisualVM 插件中心手動(dòng)下載插件,然后離線安裝。另外,用戶還可以通過(guò)下載插件分發(fā)文件 (.nbm 文件 ) 安裝第三方插件為 VisualVM 添加功能。
1、VisualVM 插件中心安裝插件安裝步驟:
從主菜單中選擇“工具”>“插件”。
在“可用插件”標(biāo)簽中,選中該插件的“安裝”復(fù)選框。單擊“安裝”。
逐步完成插件安裝程序。
2、從主菜單中選擇“工具”>“插件”。
在“已下載”標(biāo)簽中,點(diǎn)擊"添加插件"按鈕,選擇已下載的插件分發(fā)文件(.nbm)并打開(kāi)
選中打開(kāi)的插件分發(fā)文件,并單擊"安裝"按鈕,逐步完成插件安裝程序。
VisualVM軟件特色
1、內(nèi)存分析
軟件通過(guò)檢測(cè)JVM中加載的類和對(duì)象信息等幫助我們分析內(nèi)存使用情況,我們可以通過(guò)軟件的監(jiān)視標(biāo)簽和Profiler標(biāo)簽對(duì)應(yīng)用程序進(jìn)行內(nèi)存分析。
2、CPU分析
軟件能夠監(jiān)控應(yīng)用程序在一段時(shí)間的CPU的使用情況,顯示CPU的使用率、方法的執(zhí)行效率和頻率等相關(guān)數(shù)據(jù)幫助我們發(fā)現(xiàn)應(yīng)用程序的性能瓶頸。我們可以通過(guò)軟件的監(jiān)視標(biāo)簽和Profiler標(biāo)簽對(duì)應(yīng)用程序進(jìn)行CPU性能分析。
3、線程分析
Java語(yǔ)言能夠很好的實(shí)現(xiàn)多線程應(yīng)用程序。當(dāng)我們對(duì)一個(gè)多線程應(yīng)用程序進(jìn)行調(diào)試或者開(kāi)發(fā)后期做性能調(diào)優(yōu)的時(shí)候,往往需要了解當(dāng)前程序中所有線程的運(yùn)行狀態(tài),是否有死鎖、熱鎖等情況的發(fā)生,從而分析系統(tǒng)可能存在的問(wèn)題。
4、快照分析
我們可以使用VisualVM的快照功能生成任意個(gè)性能分析快照并保存到本地來(lái)輔助我們進(jìn)行性能分析。快照為捕獲應(yīng)用程序性能分析數(shù)據(jù)提供了一個(gè)很便捷的方式因?yàn)榭煺找坏┥煽梢栽谌魏螘r(shí)候離線打開(kāi)和查看,也可以相互傳閱。
VisualVM 提供了兩種類型的快照:
--Profiler快照:當(dāng)有一個(gè)性能分析會(huì)話(內(nèi)存或者 CPU)正在進(jìn)行時(shí),我們可以通過(guò)性能分析結(jié)果工具欄的“快照”按鈕生成Profiler快照捕獲當(dāng)時(shí)的性能分析數(shù)據(jù)。
--應(yīng)用程序快照:我們可以右鍵點(diǎn)擊左側(cè)Applications窗口中應(yīng)用程序節(jié)點(diǎn),選擇“應(yīng)用程序快照”為生成一個(gè)應(yīng)用程序快照。應(yīng)用程序快照會(huì)收集某一時(shí)刻的堆轉(zhuǎn)儲(chǔ),線程轉(zhuǎn)儲(chǔ)和 Profiler快照,同時(shí)也會(huì)捕獲JVM的一些基本信息。
5、轉(zhuǎn)儲(chǔ)功能
線程轉(zhuǎn)儲(chǔ)的生成與分析:VisualVM能夠?qū)φ谶\(yùn)行的本地應(yīng)用程序生成線程轉(zhuǎn)儲(chǔ),把活動(dòng)線程的堆棧蹤跡打印出來(lái),幫助我們有效了解線程運(yùn)行的情況,診斷死鎖、應(yīng)用程序癱瘓等問(wèn)題。
堆轉(zhuǎn)儲(chǔ)的生成與分析:VisualVM能夠生成堆轉(zhuǎn)儲(chǔ),統(tǒng)計(jì)某一特定時(shí)刻JVM中的對(duì)象信息,幫助我們分析對(duì)象的引用關(guān)系、是否有內(nèi)存泄漏情況的發(fā)生等。