4

我正在使用 filghtrecorder 测试我的 Java 代码,所有其他数据看起来都很好(它们显示了某些东西。),但是“内存 - > 对象统计信息”是空的。

使用 JDK 1.8.0_161

这是我使用的参数。

java -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=dumponexit=true,filename=4.jfr,settings=default -jar myapp.jar

我尝试将设置更改为“settings=profile”,但没有帮助。(不知道有什么不同)

我想知道为什么它默认不启用,或者它已启用但没有值得记录的对象?

4

1 回答 1

12

正如您在 JMC UI 中可能看到的那样,该页面需要“对象计数”事件。制作您自己的设置版本,例如通过复制 JDK/jre/lib/jfr/profile.jfc 文件并在本节中将 enabled 更改为 true。

      <setting name="enabled" control="heap-statistics-enabled">false</setting>
      <setting name="period">everyChunk</setting>
    </event>

您也可以使用 JMC UI 创建新的设置文件,单击 Start Flight Recording 向导中的 Template Manager 按钮。

将新文件保存在 JDK/jre/lib/jfr/ 中,然后您可以settings=mynewsettings在命令行中使用,或者将其保存在其他位置并使用settings=<fullpathtomynewsettingsfile>.

于 2019-04-01T07:13:39.787 回答