[英]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.