【问题标题】:java flight recorder how to dump on exception, FlightRecordingDumpOnUnhandledExceptionjava飞行记录器如何转储异常,FlightRecordingDumpOnUnhandledException
【发布时间】:2015-10-25 22:08:00
【问题描述】:

java版本1.7.0_79 Java(TM) SE 运行时环境 (build 1.7.0_79-b15) Java HotSpot(TM) 64 位服务器 VM(内部版本 24.79-b02,混合模式)

我使用的参数

-XX:+UnlockCommercialFeatures 
-XX:+FlightRecorder  
-XX:+FlightRecordingDumpOnUnhandledException -XX:StartFlightRecording=duration=6m,filename=member.jfr"
-XX:FlightRecorderOptions=loglevel=debug,delay=2m,maxsize=2g"

错误

Unrecognized VM option 'FlightRecordingDumpOnUnhandledException'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

使用的正确选项是什么?转储异常记录

【问题讨论】:

    标签: java jvm jvm-arguments jvm-hotspot jmc


    【解决方案1】:

    -XX:+FlightRecordingDumpOnUnhandledException 仅适用于 JRockit。 Hotspot (JDK7/8) 不存在类似选项

    【讨论】:

    • 知道如何启用对象统计吗?我的最新设置是 -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=delay=2m,duration=30m,filename=member.jfr,settings=profile
    • 所有已尝试的 allocation-profiling-enabled=true,heap-statistics-enabled=true
    【解决方案2】:

    使用 Mission Control 中可用的模板管理器。

    转到 Windows -> 模板管理器并导入模板并检查 堆统计和分配分析,导出它。完成!

    (我从similar question 复制粘贴了这段文字,@Kire 也写了)

    基本上,您只需将exception-level=all 添加到设置中即可。我不知道为什么 Oracle 没有这个参数的文档。

    【讨论】:

    • > 我不知道为什么 Oracle 没有此参数的文档。 / 因为设置的名称及其行为方式会发生变化。将来可能会有一种异常事件类型(而不是两种),它可能会在抛出异常时触发(而不是在分配时),并且您可能能够过滤类名(不仅仅是打开事件/离开)。 JMC 中的模板管理器隐藏了底层的复杂性,并允许 JVM 实现逐步演进。当事情更稳定时,参数将被记录。
    猜你喜欢
    • 2016-06-07
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 2023-04-02
    • 1970-01-01
    • 2016-09-13
    • 2014-02-28
    • 1970-01-01
    相关资源
    最近更新 更多