繁体   English   中英

Java 飞行记录器 - 无活体

[英]Java Flight Recorder - no Live Objects

我在 JDK 1.8_261 上运行 JFR。

我正在使用这些 VM 选项运行我的应用程序:

-XX:+UseG1GC -XX:+UnlockCommercialFeatures -XX:+FlightRecorder
-XX:FlightRecorderOptions=maxage=5h,defaultrecording=true,loglevel=info,dumponexit=true,
settings=/usr/java/jdk1.8.0_261-amd64/jre/lib/jfr/profile.jfc,dumponexitpath=/tmp/a.jfr

这是我正在使用的profile.jfc文件:https://gist.github.com/oripwk/e7d598f90e567a658cd767b16379f281

但是,正如您在屏幕截图中看到的那样,使用 JDK Mission Control 打开文件时,我看不到实时对象。

我需要做什么才能启用动态对象?

在此处输入图像描述

Live objects (vm/gc/detailed/object_count) 的事件默认禁用,因为开销是堆的完整扫描。 您可以通过 JMC 中的 go 到 Window -> 模板管理器来修复此问题,然后检查“堆统计”并导出设置文件。

或者您可以手动编辑 .jfc 文件并将 vm/gc/detailed/object_count enabled 设置为 true。

要使用该页面,您需要包含“旧 Object 示例”方法的 JFR 记录,并在启用“GC 根路径”选项的情况下转储。 这是因为该页面显示的引用链需要在全局安全点操作中生成,因此仅在需要时才收集它们(通常有很短的时间限制)。

可以在此处找到有关此的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM