Intellij Idea - 效能分析



效能分析器提供有關應用程式的資訊,例如其CPU、記憶體和堆使用情況。它還提供有關應用程式執行緒的詳細資訊。本章討論了使用VisualVM工具進行Java應用程式效能分析的方法。它可以分析CPU和堆等實體。

建議本教程的讀者熟悉應用程式效能分析器的概念。

簡介

VisualVM是一個視覺化工具,它集成了JDK工具,併為您提供了強大的效能分析功能。它允許您生成和分析堆資料,追蹤記憶體洩漏,監控垃圾收集器,並執行記憶體和CPU效能分析。

優勢

  • 用於在JVM上執行的本地和遠端Java應用程式的視覺化介面。

  • 監控應用程式的記憶體使用情況和應用程式的執行時行為。

  • 監控應用程式執行緒

  • 分析分配給不同應用程式的記憶體。

  • 執行緒轉儲 - 在死鎖和競爭條件下非常方便。

  • 堆轉儲 - 在分析堆記憶體分配時非常方便。

配置

在本節中,我們將學習配置VisualVM執行的步驟,步驟如下:

  • 從此處下載 這裡

  • 解壓zip檔案。

  • 導航到etc/visualvm.conf檔案,並在該檔案中新增以下行:

visualvm_jdkhome=<path of JDK>
  • 如果您的JDK安裝在C:\Program Files\Java\jdk-9.0.1目錄中,則它應該如下所示:

visualvm_jdkhome="C:\Program Files\Java\jdk-9.0.1"

監控應用程式

現在讓我們看看如何監控應用程式。請考慮以下步驟來了解相同的內容:

  • 雙擊visualvm.exe檔案。
  • 從左窗格中選擇應用程式。
  • 選擇監控選項卡。
Monitoring Application

您將被定向到一個視窗,您將在其中獲得有關CPU、堆、類和執行緒的詳細資訊。為了具體瞭解使用情況,請將滑鼠懸停在任何圖表上。我們可以在上面的截圖中看到堆的使用情況。

有關執行緒的見解

Java應用程式可以包含多個執行執行緒。要了解更多關於執行緒的資訊,請選擇特定應用程式的“執行緒”選項卡。它將提供有關執行緒的各種統計資訊,例如活動執行緒和守護執行緒的數量。不同的執行緒狀態包括執行、睡眠、等待、暫停和監視器。

Insights Threads

應用程式取樣

VisualVM支援CPU、記憶體取樣和記憶體洩漏檢測。要對應用程式進行取樣,請選擇應用程式並選擇取樣選項卡:

CPU取樣

對於CPU取樣,請單擊CPU按鈕,如下面的螢幕截圖所示:

Memory Sampling

記憶體分析

對於記憶體分析,請單擊記憶體按鈕,如下面的螢幕截圖所示:

Memory profiling

記憶體洩漏

當應用程式執行時,緩慢地用程式不會自動刪除的物件填充堆時,就會發生記憶體洩漏。

如果程式不使用的物件未被刪除,則它將保留在記憶體中,並且GC無法回收其空間。如果應用程式中的位元組數和例項數不斷且顯著地增加到使用所有空間的程度,這可能表明存在記憶體洩漏。

效能分析應用程式

在本節中,我們將學習如何分析應用程式。要分析應用程式,請從左窗格中選擇應用程式,然後單擊“效能分析”選項卡:

CPU效能分析

要執行CPU效能分析,請單擊CPU按鈕,如下面的螢幕截圖所示:

CPU Profiling

記憶體分析

要執行CPU效能分析,請單擊CPU按鈕,如下面的螢幕截圖所示:

CPU Memory Profiling
廣告
© . All rights reserved.