微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java Flight Recorder - 没有活动对象

如何解决Java Flight Recorder - 没有活动对象

我在 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。

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

enter image description here

解决方法

Live 对象 (vm/gc/detailed/object_count) 的事件由于开销,堆的完整扫描而默认禁用。您可以通过转到 JMC 中的 Window -> Template Manager 并检查“Heap Statistics”并导出设置文件来解决此问题。

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

,

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。