VisualVM 提供在 Java 虛擬機 (Java Virutal Machine, JVM) 上運行的 Java 應用程序的詳細信息。在 VisualVM 的圖形用戶界面中,您可以方便、快捷地查看多個 Java 應用程序的相關信息。
本入門指南應當對您快速設置並運行 VisualVM 有所幫助。本指南將演示如何安裝 VisualVM,以及如何通過安裝 VisualVM 更新中心提供的插件向該工具添加功能。本指南還將介紹如何啟動 VisualVM,以及如何查看可以獲取的一些有關本地和遠程 JVM 上運行的應用程序的信息。
以下簡短的截屏視頻顯示了最初在 java.sun.com 中介紹的 VisualVM 功能:
在啟動應用程序後,將打開 VisualVM 的主窗口。缺省情況下,“應用程序”窗口顯示在主窗口的左窗格中。在“應用程序”窗口中,可以快速查看本地和遠程 JVM 上運行的 Java 應用程序。
“應用程序”窗口是查看特定應用程序詳細信息的主入口點。右鍵單擊應用程序節點將打開彈出式菜單,從該彈出式菜單中可以選擇是打開主應用程序標簽,還是生成線程 dump 或堆 dump。
有關如何使用“應用程序”窗口查看和保存應用程序相關數據的更多詳細信息,請參見以下頁面:
VisualVM 有一個可視化窗口,通過該窗口可以輕松浏覽堆 dump。您可以裝入現有堆 dump,或為本地運行的應用程序生成堆快照。
要生成本地應用程序的堆 dump,可以執行下列任一操作:
要打開保存的堆 dump,請從主菜單中選擇“文件”>“裝入”,然後找到保存的堆 dump。
浏覽打開的堆 dump:
在生成堆 dump 後,VisualVM 將在新標簽中打開該堆 dump,並在“應用程序”窗口中的應用程序節點下為該堆 dump 創建一個節點。要保存生成的堆 dump,請右鍵單擊該堆 dump 節點,然後選擇“另存為”。如果沒有明確保存生成的堆 dump,則在應用程序關閉時將刪除該 dump。
有關更多信息,請參見以下文檔:
VisualVM 包括一個 Profiler,可以使用它對本地 JVM 上運行的應用程序進行性能分析。您可以在應用程序標簽的 "Profiler" 標簽中訪問性能分析控件。通過該 Profiler,可以分析本地應用程序的內存使用情況和 CPU 性能。
注意:要對 JDK 6 上運行的應用程序進行性能分析,需要關閉該應用程序的類共享,否則該應用程序可能會崩潰。要關閉類共享,請使用 -Xshare:off 參數啟動應用程序。
在選擇性能分析任務後,VisualVM 將在 "Profiler" 標簽中顯示性能分析數據。
有關使用 VisualVM 進行性能分析的更多信息,請參見以下文檔:
通過 VisualVM,可以輕松監視遠程主機上運行的應用程序,並查看有關遠程系統的常規數據。要查看遠程主機上應用程序的相關信息,必須首先連接到遠程主機。已連接的遠程主機將列在“應用程序”窗口的“遠程”節點下。展開遠程主機節點可查看遠程主機上運行的應用程序。
要從遠程應用程序中檢索數據,需要在遠程 JVM 上運行 jstatd 實用程序。有關如何啟動 jstatd 的更多信息 請參見 jstatd - Virtual Machine jstat Daemon(jstatd - 虛擬機 jstat 守護進程)。無法對遠程主機上運行的應用程序進行性能分析。
單擊“確定”後,將在“遠程”節點下顯示遠程主機的節點。展開遠程主機節點可查看遠程主機上運行的 Java 應用程序。
您可以雙擊遠程應用程序的名稱,在 VisualVM 中打開該應用程序標簽。
有關更多信息,請參見以下文檔:
通過安裝 VisualVM 更新中心提供的插件,可以向 VisualVM 添加功能。例如,安裝 VisualVM-MBeans 插件可以向應用程序標簽中添加 "MBeans" 標簽,通過此標簽,可以在 VisualVM 內監視和管理 MBeans。
安裝 VisualVM 插件:
該屏幕快照顯示了選中 VisualVM-MBeans 插件的“插件”管理器。