簡體   English   中英

如何在 Java 任務控制中啟用 Object 類型 + 分配堆棧跟蹤 + GC 根路徑

[英]How to enable Object Types + Allocation Stack Traces + Path to GC Root in Java Mission Control

I'm trying to analyse memory leak using java mission control, I wanted to find the reference to the classes from which the object are getting created, looks like I have to enable the below properties to get that details from Live Object details, but I '無法找到此設置或不確定我應該從哪里啟用此設置,有人可以在這里幫助我嗎?

“在開始飛行記錄之前,請確保從 Memory 泄漏檢測設置中選擇選項 Object 類型 + 分配堆棧跟蹤 + GC 根路徑。”

下面的活動對象是空的,因此無法找到哪個 class 負責創建 memory 中的對象

在此處輸入圖像描述

有以下三種方式:

  1. 在 JMC 中,右鍵單擊應用程序並在 JVM 瀏覽器中選擇“開始飛行記錄”。 在錄制向導的第二頁,select“內存泄漏檢測設置”中的“Object Types + Allocation Stack Traces + Path to GC Root”,然后單擊“完成”開始錄制。

  2. 如果您是從shell、select Window->“飛行錄制模板管理器”開始錄制,在JMC頂部菜單中復制配置並點擊編輯。 確保從“內存泄漏檢測設置”中選擇“對象類型 + 分配堆棧跟蹤 + GC 根路徑”並導出配置文件。 然后你可以像這樣使用文件。

    $ java -XX:StartFlightRecording:settings=custom.jfc...

在已經運行的實例上:

$ jcmd <pid> JFR.start settings=custom.jfc
  1. 第三種方法,也許是最簡單的方法,是使用配置文件模板來啟用分配堆棧跟蹤並直接設置 path-to-gc-roots 選項:

    $ java -XX:StartFlightRecording:settings=profile,path-to-gc-roots=true...

在已經運行的實例上:

$ jcmd <pid> JFR.start settings=profile path-to-gc-roots=true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM