簡體   English   中英

CMS GC - 如何分析年輕代堆?

[英]CMS GC - How to profile young gen heap?

我可以使用jmap命令轉儲 JVM memory 堆。

問題是,從 GC 日志中檢查時,與以前的版本相比,我有一個程序具有更重的年輕一代 GC 活動,並且當我運行 memory 分析器時,最大的對象始終是老一代中的對象。 因此,當您需要查找年輕一代 GC 中存在的泄漏時,它會使故障排除變得更加困難。

有什么方法可以分析年輕一代堆中的 memory 嗎?

更新:我使用了開放的 JDK 1.8。

JVM 的分析接口不提供特定於 GC 的信息,因此分析器無法告訴您 object 所在的 GC 生成。

但是,一些分析器能夠記錄 object 的年齡(有效地創建自己的“世代”),因此您可以將分析限制為僅針對較年輕的對象。 例如, JProfiler有一個“設置標記”操作,用於標記堆中的所有對象。

在此處輸入圖像描述

創建堆轉儲后,您可以在調用標記操作后創建 select 對象。

在此處輸入圖像描述

如果您選擇記錄分配時間,您可以在堆遍歷器的“時間”視圖中以任意時間間隔創建 select 對象。

在此處輸入圖像描述

免責聲明:我公司開發JProfiler

暫無
暫無

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

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