性能測試之JVM的故障分析工具VisualVM

  • 2020 年 6 月 21 日
  • 筆記

VisualVM 是隨JDK一同發佈的jvm診斷工具,通過插件可以擴展很多功能,插件擴展也是其精華所在。

提供了一個可視界面,用於在Java應用程序在Java虛擬機上運行時查看有關Java應用程序的詳細信息。此信息可用於對本地和遠程應用程序進行故障排除以及對本地應用程序進行性能分析。

使用Java VisualVM,可以生成和分析堆轉儲,跟蹤內存泄漏,執行和監視垃圾回收以及執行輕量級內存和CPU性能分析。該工具對於調整,堆大小,脫機分析和事後診斷也很有用。

使用方法

  1. 啟動
cd <JDK_HOME>/bin
jvisualvm
  1. 選擇監控進程

當然監控支持遠程JMX監控和遠程主機監控

  1. 監控視圖:監控cpu、堆、類加載、線程數

  2. 線程監控:死鎖診斷等

  3. cpu和內存取樣分析:cpu線程佔用分析、內存佔用分析等

  4. GC監控插件

插件推薦

  • Visual GC

    將可視垃圾收集監視工具集成到VisualVM中。Visual GC附加到應用程序,並收集並以圖形方式顯示垃圾收集,類加載器和HotSpot編譯器性能數

  • VisualVM MBeans

    MBeans瀏覽器插件提供的功能類似於JConsole中的MBeans瀏覽器:顯示應用程序的MBean,顯示值,操作和通知。在VisualVM中,瀏覽器得到了進一步的改進,以提供更好的可用性並支持最新的JMX功能

  • VisualVM Extensions

    該模塊的目的是添加對在發佈VisualVM時VisualVM核心模塊不支持的其他功能(例如新的JDK,JVM,HotSpot版本…)的支持

  • Tracer

    用於詳細監視和分析Java應用程序的框架和GUI。跟蹤器使用各種探針,從應用程序收集指標並在時間軸中顯示數據。數據以圖形方式和表格形式顯示,並可以導出為通用格式,以供外部工具進行進一步處理

  • JConsole

    支持在VisualVM中使用現有的JConsole插件(如JTop)

  • Threads Inspector

    線程檢查器在「線程」選項卡上添加了一個新部分,其中顯示了選定活動線程的堆棧跟蹤。

掃一掃,關注我