JVM-12虚拟机性能监控与故障处理工具之【JDK的可视化工具-VisualVM】
文章目錄
- 思維導圖
- 概述
- 生成、瀏覽堆轉儲快照
- 分析程序性能
- BTrace
思維導圖
概述
Visual VM (All-in-One Java Troubleshooting Tool)是目前為止隨JDK發布的功能最強大的運行監視和故障處理程序。 Visual VM除了提供運行監視、故障處理外,還提供了比如性能分析(Profiling),對應用程序的實際性能影響很小,使得它可以直接應用在生產環境,這個優點是JProfiler、YourKit等第三方的性能分析工具無法比擬的.
VisualVM可以做到
- 顯示虛擬機進程以及進程的配置、環境信息(jps 、jinfo)
- 監視應用程序的CPU、GC、堆、方法區以及線程的信息(jstat、jstack)
- dump以及分析堆轉儲快照(jmap、jhat)
- 方法級的程序運行性能分析,找出被調用最多、運行時間最長的而方法
- 離線程序快照:收集程序的運行配置、線程dump、內存dump等信息建立一個快照,方便分析
- 基于NetBeans平臺開發,可安裝各種各樣的插件,功能強大,精華所在。
#插件安裝
打開 VisualVM圖形化界面工具, 工具 --插件
安裝完插件后,選擇一個需要監視的程序就進入程序的主頁面了
生成、瀏覽堆轉儲快照
兩種方式生成dump
- 在“應用程序”窗口中右鍵單擊應用程序節點,然后選擇“堆Dump”
- 在“應用程序”窗口中雙機應用程序節點以打開應用程序內標簽,然后在“監視”標簽中單擊“堆Dump”
生成dump文件之后,應用程序頁簽將在該堆的應用程序下增加一個以【heapdump】開頭的子節點,并且在主頁簽中打開了該轉儲快照。
-
從堆頁簽中的“摘要”面案可以看到應用程序dump時運行的參數、System.getProperties()的內容、線程堆棧等信息。
-
“類”:類面板是以類為統計口徑統計類的實例數量、容量信息等
-
“實例”:實例面板不能直接使用,因為不能確定用戶想查哪個類的實例,需要通過類面板進入,在類中選擇一個關心的類后雙擊,即可在實例中看到此類中500個實例的具體屬性信息
-
“OQL控制臺”:運行OQL查詢語句的
如果想保存該dump, 右鍵另存為即可。 要打開一個已經存在的dump“文件–裝入”即可
分析程序性能
在Profiler頁簽中,VisaualVM提供了程序運行期間方法級的CPU執行時間分析以及內存分析。 做Profiling分析肯定會對程序性能有比較大的影響,一般不再生產環境使用。
CPU分析會統計每個方法的執行次數、執行耗時
內存分析會統計每個方法關聯的對象數以及這些對象占用的空間。
BTrace
BTrace是sun公司推出的一款Java 動態、安全追蹤(監控)工具,可以在不用重啟的情況下監控系統運行情況,方便的獲取程序運行時的數據信息,如方法參數、返回值、全局變量和堆棧信息等,并且做到最少的侵入,占用最少的系統資源。
這項功能對實際生產中的程序很有意義,比如程序出現問題,但排查錯誤的一些必要信息,比如方法參數、返回值等,但是開發的時候沒有輸出到日志中,以至于不能不加上日志后重新啟動服務。 這時候BTrace插件就很方便了。
限制比較多,并且一定要確保腳本的正確性。
在Visual VM“應用程序”中選擇對應的進程,右鍵會看到“Trace Application”
先了解下,后續再補充。
總結
以上是生活随笔為你收集整理的JVM-12虚拟机性能监控与故障处理工具之【JDK的可视化工具-VisualVM】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JVM-11虚拟机性能监控与故障处理工具
- 下一篇: 实战SSM_O2O商铺_42【前端展示】