西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)java → VisualVM 使用操作界面 VisualVM 安裝及插件安裝教程

VisualVM 使用操作界面 VisualVM 安裝及插件安裝教程

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2017/5/15 11:53:31字體大。A-A+

作者:西西點擊:0次評論:0次標簽: VisualVM

Java VisualVMv1.3.9 官方版
  • 類型:編程工具大小:18.4M語言:中文 評分:10.0
  • 標簽:
立即下載

VisualVM 是一款免費的性能分析工具。它通過 jvmstat、JMX、SA(Serviceability Agent)以及 Attach API 等多種方式從程序運行時獲得實時數(shù)據(jù),從而進行動態(tài)的性能分析。

VisualVM 窗口

在啟動 VisualVM 后,將打開 VisualVM 主窗口。VisualVM 主窗口分為兩個窗口。

首次啟動 VisualVM 時,“應(yīng)用程序”窗口顯示在主窗口的左側(cè),“起始頁”顯示在主窗口的右側(cè)。“起始頁”包含指向 VisualVM 文檔 Web 頁和其他資源的鏈接。
注意:缺省情況下,每次啟動 VisualVM 時都將打開“起始頁”。通過從主菜單中選擇“幫助”>“起始頁”,可以隨時打開“起始頁”。此外,還可以通過取消選中“啟動時顯示”復選框隱藏“起始頁”。

“應(yīng)用程序”窗口

啟動應(yīng)用程序后,將在 VisualVM 主窗口的左側(cè)打開“應(yīng)用程序”窗口。“應(yīng)用程序”窗口是瀏覽正在運行的應(yīng)用程序詳細信息的主入口點!皯(yīng)用程序”窗口采用樹結(jié)構(gòu),以便您可以快速查看本地計算機和任何已連接的遠程計算機上運行的應(yīng)用程序。您還可以從“應(yīng)用程序”窗口中訪問核心 dump (Solaris/Linux) 和保存的快照。

右鍵單擊“應(yīng)用程序”窗口中的某個節(jié)點將打開一個彈出式菜單,通過該菜單可以執(zhí)行與該節(jié)點相關(guān)的操作,其中包括打開應(yīng)用程序標簽、生成堆 dump 和線程 dump,以及在主窗口中打開快照。

主窗口

主窗口中顯示有關(guān)應(yīng)用程序的詳細信息。在查看有關(guān)應(yīng)用程序的數(shù)據(jù)時,主窗口中的每個標簽表示一個應(yīng)用程序,這使您可以輕松查看和導航數(shù)據(jù)。保存的線程 dump 和堆 dump 也可以在主窗口中打開。

VisualVM 插件

通過使用“插件”管理器安裝由“VisualVM 插件中心”提供的插件,可以向 VisualVM 添加功能。您也可以開發(fā)自己的插件,然后將其添加到更新中心來擴展 VisualVM 的功能。

例如,安裝 VisualVM-MBeans 插件可以向應(yīng)用程序標簽中添加 "MBeans" 標簽,通過此標簽,可以在 VisualVM 內(nèi)監(jiān)視和管理 MBeans。

安裝 VisualVM 插件:

從主菜單中選擇“工具”>“插件”。

在“可用插件”標簽中,選中該插件的“安裝”復選框。單擊“安裝”。

逐步完成插件安裝程序。

VisualVM 安裝

VisualVM 是一個性能分析工具,自從 JDK 6 Update 7 以后已經(jīng)作為 Oracle JDK 的一部分,位于 JDK 根目錄的 bin 文件夾下。VisualVM 自身要在 JDK6 以上的版本上運行,但是它能夠監(jiān)控 JDK1.4 以上版本的應(yīng)用程序。下面主要介紹如何安裝 VisualVM 以及各種 VisualVM 上的插件。

安裝 VisualVM

VisualVM 項目的官方網(wǎng)站目前提供英文版本和多語言支持版本下載。多語言版本主要支持英語、日語以及中文三種語言。如果下載安裝多語言版本的 VisualVM,安裝程序會依據(jù)操作系統(tǒng)的當前語言環(huán)境去安裝相應(yīng) VisualVM 的語言版本。最新 VisualVM 版本主要支持的操作系統(tǒng)包括:Microsoft Windows (7, Vista, XP, Server)、Linux、Sun Solaris、Mac OS X、HP-UX 11i。本文以 Microsoft Windows XP 為安裝環(huán)境并支持中文。

從 VisualVM 項目的官方網(wǎng)站上下載 VisualVM 安裝程序。

將 VisualVM 安裝程序解壓縮到本地系統(tǒng)。

導航至 VisualVM 安裝目錄的 bin 目錄,然后啟動 jvisualvm.exe。

安裝 VisualVM 上的插件

VisualVM 插件中心提供很多插件以供安裝向 VisualVM 添加功能?梢酝ㄟ^ VisualVM 應(yīng)用程序安裝,或者從 VisualVM 插件中心手動下載插件,然后離線安裝。另外,用戶還可以通過下載插件分發(fā)文件 (.nbm 文件 ) 安裝第三方插件為 VisualVM 添加功能。

從 VisualVM 插件中心安裝插件安裝步驟 :

從主菜單中選擇“工具”>“插件”。

在“可用插件”標簽中,選中該插件的“安裝”復選框。單擊“安裝”。

逐步完成插件安裝程序。

圖 1. VisualVM 插件管理器

根據(jù) .nbm 文件安裝第三方插件安裝步驟 :

從主菜單中選擇“工具”>“插件”。

在“已下載”標簽中,點擊"添加插件"按鈕,選擇已下載的插件分發(fā)文件 (.nbm) 并打開。

選中打開的插件分發(fā)文件,并單擊"安裝"按鈕,逐步完成插件安裝程序。

圖 2. 通過 .nbm 文件安裝 VisualVM 插件

功能介紹

下面我們將介紹性能分析的幾種常見方式以及如何使用 VisualVM 性能分析工具進行分析。

內(nèi)存分析

VisualVM 通過檢測 JVM 中加載的類和對象信息等幫助我們分析內(nèi)存使用情況,我們可以通過 VisualVM 的監(jiān)視標簽和 Profiler 標簽對應(yīng)用程序進行內(nèi)存分析。

在監(jiān)視標簽內(nèi),我們可以看到實時的應(yīng)用程序內(nèi)存堆以及永久保留區(qū)域的使用情況。

圖 3. 內(nèi)存堆使用情況

圖 4. 永久保留區(qū)域使用情況

此外,我們也可以通過 Applications 窗口右擊應(yīng)用程序節(jié)點來啟用“在出現(xiàn) OOME 時生成堆 Dump”功能,當應(yīng)用程序出現(xiàn) OutOfMemory 例外時,VisualVM 將自動生成一個堆轉(zhuǎn)儲。

圖 5. 開啟“在出現(xiàn) OOME 時生成堆”功能

在 Profiler 標簽,點擊“內(nèi)存”按鈕將啟動一個內(nèi)存分析會話,等 VisualVM 收集和統(tǒng)計完相關(guān)性能數(shù)據(jù)信息,將會顯示在性能分析結(jié)果。通過內(nèi)存性能分析結(jié)果,我們可以查看哪些對象占用了較多的內(nèi)存,存活的時間比較長等,以便做進一步的優(yōu)化。

此外,我們可以通過性能分析結(jié)果下方的類名過濾器對分析結(jié)果進行過濾。

圖 6. 內(nèi)存分析結(jié)果

CPU 分析

VisualVM 能夠監(jiān)控應(yīng)用程序在一段時間的 CPU 的使用情況,顯示 CPU 的使用率、方法的執(zhí)行效率和頻率等相關(guān)數(shù)據(jù)幫助我們發(fā)現(xiàn)應(yīng)用程序的性能瓶頸。我們可以通過 VisualVM 的監(jiān)視標簽和 Profiler 標簽對應(yīng)用程序進行 CPU 性能分析。

在監(jiān)視標簽內(nèi),我們可以查看 CPU 的使用率以及垃圾回收活動對性能的影響。過高的 CPU 使用率可能是由于我們的項目中存在低效的代碼,可以通過 Profiler 標簽的 CPU 性能分析功能進行詳細的分析。如果垃圾回收活動過于頻繁,占用了較高的 CPU 資源,可能是由內(nèi)存不足或者是新生代和舊生代分配不合理導致的等。

圖 7. CPU 使用情況

在 Profiler 標簽,點擊“CPU”按鈕啟動一個 CPU 性能分析會話 ,VisualVM 會檢測應(yīng)用程序所有的被調(diào)用的方法。當進入一個方法時,線程會發(fā)出一個“method entry”的事件,當退出方法時同樣會發(fā)出一個“method exit”的事件,這些事件都包含了時間戳。然后 VisualVM 會把每個被調(diào)用方法的總的執(zhí)行時間和調(diào)用的次數(shù)按照運行時長展示出來。

此外,我們也可以通過性能分析結(jié)果下方的方法名過濾器對分析結(jié)果進行過濾。

圖 8. CPU 性能分析結(jié)果

線程分析

Java 語言能夠很好的實現(xiàn)多線程應(yīng)用程序。當我們對一個多線程應(yīng)用程序進行調(diào)試或者開發(fā)后期做性能調(diào)優(yōu)的時候,往往需要了解當前程序中所有線程的運行狀態(tài),是否有死鎖、熱鎖等情況的發(fā)生,從而分析系統(tǒng)可能存在的問題。

在 VisualVM 的監(jiān)視標簽內(nèi),我們可以查看當前應(yīng)用程序中所有活動線程和守護線程的數(shù)量等實時信息。

圖 9. 活躍線程情況

VisualVM 的線程標簽提供了三種視圖,默認會以時間線的方式展現(xiàn)。另外兩種視圖分別是表視圖和詳細信息視圖。

時間線視圖上方的工具欄提供了縮小,放大和自適應(yīng)三個按鈕,以及一個下拉框,我們可以選擇將所有線程、活動線程或者完成的線程顯示在視圖中。

圖 10. 線程時間線視圖

圖 11. 線程表視圖

我們在詳細信息視圖中不但可以查看所有線程、活動線程和結(jié)束的線程的詳細數(shù)據(jù),而且也可以查看某個線程的詳細情況。

圖 12. 線程詳細視圖

快照功能

我們可以使用 VisualVM 的快照功能生成任意個性能分析快照并保存到本地來輔助我們進行性能分析?煺諡椴东@應(yīng)用程序性能分析數(shù)據(jù)提供了一個很便捷的方式因為快照一旦生成可以在任何時候離線打開和查看,也可以相互傳閱。

VisualVM 提供了兩種類型的快照:

Profiler 快照:當有一個性能分析會話(內(nèi)存或者 CPU)正在進行時,我們可以通過性能分析結(jié)果工具欄的“快照”按鈕生成 Profiler 快照捕獲當時的性能分析數(shù)據(jù)。

圖 13. Profiler 快照

應(yīng)用程序快照:我們可以右鍵點擊左側(cè) Applications 窗口中應(yīng)用程序節(jié)點,選擇“應(yīng)用程序快照”為生成一個應(yīng)用程序快照。應(yīng)用程序快照會收集某一時刻的堆轉(zhuǎn)儲,線程轉(zhuǎn)儲和 Profiler 快照,同時也會捕獲 JVM 的一些基本信息。

圖 14. 應(yīng)用程序快照

轉(zhuǎn)儲功能

線程轉(zhuǎn)儲的生成與分析

VisualVM 能夠?qū)φ谶\行的本地應(yīng)用程序生成線程轉(zhuǎn)儲,把活動線程的堆棧蹤跡打印出來,幫助我們有效了解線程運行的情況,診斷死鎖、應(yīng)用程序癱瘓等問題。

圖 15. 線程標簽及線程轉(zhuǎn)儲功能

當 VisualVM 統(tǒng)計完應(yīng)用程序內(nèi)線程的相關(guān)數(shù)據(jù),會把這些信息顯示新的線程轉(zhuǎn)儲標簽。

圖 16. 線程轉(zhuǎn)儲結(jié)果

堆轉(zhuǎn)儲的生成與分析

VisualVM 能夠生成堆轉(zhuǎn)儲,統(tǒng)計某一特定時刻 JVM 中的對象信息,幫助我們分析對象的引用關(guān)系、是否有內(nèi)存泄漏情況的發(fā)生等。

圖 17. 監(jiān)視標簽及堆轉(zhuǎn)儲功能

當 VisualVM 統(tǒng)計完堆內(nèi)對象數(shù)據(jù)后,會把堆轉(zhuǎn)儲信息顯示在新的堆轉(zhuǎn)儲標簽內(nèi),我們可以看到摘要、類、實例數(shù)等信息以及通過 OQL 控制臺執(zhí)行查詢語句功能。

堆轉(zhuǎn)儲的摘要包括轉(zhuǎn)儲的文件大小、路徑等基本信息,運行的系統(tǒng)環(huán)境信息,也可以顯示所有的線程信息。

圖 18. 堆轉(zhuǎn)儲的摘要視圖

從類視圖可以獲得各個類的實例數(shù)和占用堆大小數(shù),分析出內(nèi)存空間的使用情況,找出內(nèi)存的瓶頸,避免內(nèi)存的過度使用。

圖 19. 堆轉(zhuǎn)儲的類視圖

通過實例數(shù)視圖可以獲得每個實例內(nèi)部各成員變量的值以及該實例被引用的位置。首先需要在類視圖選擇需要查看實例的類。

圖 20. 選擇查詢實例數(shù)的類

圖 21. 實例數(shù)視圖

此外,還能對兩個堆轉(zhuǎn)儲文件進行比較。通過比較我們能夠分析出兩個時間點哪些對象被大量創(chuàng)建或銷毀。

圖 22. 堆轉(zhuǎn)儲的比較

圖 23. 堆轉(zhuǎn)儲的比較結(jié)果

線程轉(zhuǎn)儲和堆轉(zhuǎn)儲均可以另存成文件,以便進行離線分析。

圖 24. 轉(zhuǎn)儲文件的導出

總結(jié)

本文首先簡要列舉了一些性能分析相關(guān)的背景知識。然后介紹了 VisualVM 的下載和安裝。最后從內(nèi)存性能、CPU 性能、快照功能以及轉(zhuǎn)儲功能四個方面展開,進一步說明了如何使用 VisualVM 進行性能分析。通過本文的介紹,相信讀者對性能分析會有一定的了解,并可以利用 VisualVM 進行性能分析。


    eclipse
    (145)eclipse
    MyEclipse是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。myeclipse分類:在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類:1.JavaEE模型2.WEB開發(fā)工具3.EJB開發(fā)工具4.應(yīng)用程序服務(wù)器的連接器5.JavaEE項目部署服務(wù)6....更多>>
    • pyscripter x642.5.3 官方最新版

      11-10 / 4.7M

      推薦理由:python編輯器,代碼補全、參數(shù)提示補全工具,這個工具其實非常重要,可以大大提高開發(fā)效率,減少出錯。很滿
    • wxFormBuilder3.5.1 官方最新版

      11-10 / 11.5M

      推薦理由:快速開發(fā)小軟件時,使用wxFormBuilder來設(shè)計好界面,生成XRC文件,當然不想給別人看到xrc文件的內(nèi)容也可以用工
    • Java SE Runtime Environment(JRE7

      02-12 / 45.2M

      推薦理由:Java2平臺標準版(J2SE)軟件是當今開發(fā)和發(fā)布急需的企業(yè)級應(yīng)用的首選方案。Java平臺標準版(也稱為Java2平臺
    • 安卓開發(fā)(Google Android SDK)r24.

      05-15 / 85.8M

      推薦理由:Google Android SDKAndroid是Google自己研發(fā)的手機平臺操作系統(tǒng),該平臺基于開源軟件Linux,由操作系統(tǒng)、中
    • Keil C51V9.00 uVision4破解版

      08-09 / 29.7M

      推薦理由:Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)
    • Visual Studio 2010vs2010中文旗艦

      04-28 / 2.25G

      推薦理由:Microsoft Visual Studio 2010 專業(yè)版是一個集成環(huán)境,它簡化了有關(guān)創(chuàng)建、調(diào)試和部署應(yīng)用程序的基本任務(wù)。借
    jre下載
    (45)jre下載
    jre是java程序的運行環(huán)境,如果你想想編寫java程序那就要裝JDK,JDK是整個Java的核心,包括了Java運行環(huán)境(JavaRuntimeEnvironment)、Java工具和Java基礎(chǔ)類庫。java語言由于它的跨平臺性,經(jīng)常是編程語言排行榜的榜首,2013年8月份編程語言排行榜,本月變化較大的是Java與C位置互換,領(lǐng)銜稱霸,份額略有上升。前三甲為Java、C、C++。當然,如果你只是想在PC上運行java程序,那么裝上jre環(huán)境就OK了。Jar文件怎么運行?如果jar是完整...更多>>
    • Java Runtime Environment(JRE7)V7

      05-15 / 26.0M

      推薦理由:java 運行庫 runtime environment 7,安裝了它就可以運行java的程序了。Java語言恐怕是穩(wěn)居網(wǎng)路應(yīng)用程序語言
    • jdk7 64位7u80 官方正式版(Java SE

      08-19 / 139.3M

      推薦理由:JDK是一個開發(fā)環(huán)境,用于構(gòu)建應(yīng)用程序,applet程序,和使用Java編程語言的組成部分。Java Development Kit(
    • Java SE Runtime Environment 88.0

      04-19 / 58.9M

      推薦理由:Java語言恐怕是穩(wěn)居網(wǎng)路應(yīng)用程序語言的首選了,這都要歸功于它高度的安全性以及跨平臺的特性,幾乎在目前所有
    • JDK 6(Java SE Development Kit)6u

      03-10 / 57.9M

      推薦理由:適用于您的計算機(windows)的 Java 軟件,即 Java Runtime Environment,也稱為 Java Runtime、運行時環(huán)境、
    • Java SE Development Kit (JDK7)7u

      08-19 / 137.5M

      推薦理由:JDK 7u51 發(fā)布,該版本修復了瀏覽器插件的嚴重的安全漏洞:CVE-2013-1493,Oracle 強烈建議使用 Java 瀏覽器
    • JRE(Java Runtime Environment)v6.

      05-15 / 13.8M

      推薦理由:JAVA運行必不可少的運行環(huán)境,你只要運行JAVA,必須安裝JRE,目前還沒有別的運行平臺可以代替了,它包括Jav
    eclipse中文版下載
    (30)eclipse中文版下載
    Eclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。Eclipse還包括插件開發(fā)環(huán)境(Plug-inDevelopmentEnvironment,PDE),這個組件主要針對希望擴展Eclipse的軟件開發(fā)人員,因為它允許他們構(gòu)建與Eclipse環(huán)境無縫集成的工具。它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標準的插件集,包括Java開發(fā)工具(JavaDevelopmentTools,JDT)。 漢化方法:把語言包中的features,plugins...更多>>
    JAVA軟件
    (70)JAVA軟件
    java軟件下載,java編程軟件下載專題有多款適合編程愛好者學習使用的軟件,我們提供了適用于JAVA開發(fā)者使用的相關(guān)軟件的各個版本跟新的下載地址,以方便各位愛好者使用學習。如果您有什么好的JAVA編程軟件可以向我們提供分享下載,如果下載的軟件有什么問題也可以向我們提供建議,祝程序員們學習愉快!java軟件開發(fā)其實可以不用其他軟件的。只需要安裝了JDK工具包即可,這個是必須的。并且一定要配置好系統(tǒng)的環(huán)境變量。這個可以到網(wǎng)...更多>>

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)