- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
掌握 Java Flight recorder (JFR) 配置,我有一个最合理的配置:
-XX:+UnlockCommercialFeatures -XX:+DebugNonSafepoints -XX:+FlightRecorder
-XX:FlightRecorderOptions=defaultrecording=true,dumponexit=true,dumponexitpath=../logs
-XX:StartFlightRecording=compress=true,maxsize=1g
但是,使用 JFR.check
显示我正在进行的记录不是一个,而是两个。
Recording: recording=0 name="HotSpot default" (running)
Recording: recording=1 name="Recording 1" maxsize=1.0GB (running)
录音0是怎么发生的?
最佳答案
我们一直在努力简化命令行。对于 JDK 11 及更高版本,这是我推荐的。
$ java -XX:StartFlightRecording:maxsize=1g,filename=../logs
我提到这一点是为了减少阅读本文的人使用更新版本的 JDK 时的困惑。
您获得两个录音的原因是
-XX:FlightRecorderOption=defaultrecording=true
开始录音。
更复杂的是,如果您想在指定目录(即 ../logs)中创建记录,以便为每个 JVM 进程生成唯一的文件名,则需要使用
-XX:FlightRecordingOption=dumponexitpath=<directory>
在 JDK 7/8 上仅适用于以 defaultrecording=true 开始的录制。我认为如果您更改为以下内容,可以删除 -XX:StartFlightRecording:
-XX:FlightRecorderOptions=defaultrecording=true,dumponexit=true,
disk=true,maxsize=1g,dumponexitpath=../logs
但是录音不会被压缩。
也就是说,上述内容不适用于 JDK 11 或更高版本,因为 defaultrecording=true 选项已被删除。相反,该功能已移至 -XX:StartFlightRecording:filename= 选项,其中默认启用压缩和磁盘,如果设置文件名,则 dumponexit=true 是多余的。
JVM 内部只运行一个记录,因此不必担心多个记录的开销。可以启动多个记录的原因是允许堆叠配置。例如,您可能希望始终运行低开销录制,然后开始持续十分钟的更具侵入性的录制。当十分钟结束时,JVM 将恢复到低开销配置。
还有更多,我可以就此写一篇文章,但我们就到此为止。
关于java - 为什么我有不止一份 JFR 录音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57841060/
我正在学习有关 Java Flight Recorder 使用的类(class) java-flight-recorder-monitoring 。 我从示例编译了 java 代码(添加了 class
我有一个运行 1 分 9 秒的多线程应用程序(有 56 个并发线程)。争论的 JFR 屏幕截图如下所示。我不清楚的是: 计数字段表示什么?获取锁的次数? 平均值表示什么?持续时间(= 计数 * 平均值
我有一个使用 Java Mission Control 创建的配置文件,该配置文件启用了分配分析功能。当我从 JMC UI 使用它进行录制时,一切正常并且我得到了结果。 但是,导出设置并尝试在命令行上
我正在尝试使用位于/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/jcmd (Mac OS X) 的 jcmd
掌握 Java Flight recorder (JFR) 配置,我有一个最合理的配置: -XX:+UnlockCommercialFeatures -XX:+DebugNonSafepoints -
我正在使用 filghtrecorder 测试我的 Java 代码,所有其他数据看起来都很好(它们显示某事),但“内存 -> 对象统计”是空的。 使用 JDK 1.8.0_161 这是我使用的参数。
我正在尝试记录 Tomcat 服务器中托管的 Java 应用程序的 JFR。我使用了以下 jvm args 。 -XX:+UnlockCommercialFeatures -XX:+FlightRec
我正在努力使用自定义 JFR 事件对异步 servlet 请求处理进行建模。我面临的挑战是,在异步处理中,请求可能会被#dispatch()处理多次。这意味着整个请求处理链可能会在不同线程中执行多次,
我在尝试开始 JFR 记录时收到 AttachNotSupportedException。直到现在它都正常工作。 jcmd 3658 JFR.start maxsize=100M filename=j
我想在 jmc 中发出自定义事件 - 我看到了关于 jfr 自定义事件的博客文章 - http://hirt.se/blog/?p=444 .然而,作者强调,这个功能可能会在未来被贬低。由于 jmc
我正在使用 Jmeter 通过 Ant 插件进行负载测试。目前在测试期间使用 JFR GUI 模式为每个节点捕获服务器的 JVM 指标。为每个节点启动很麻烦,有时会错过启动。有没有办法通过代码开始将它
使用 JDK 11,如果您查看 JRF 记录的摘要,您可以看到有 140 个不同的事件。其中一些可能没有发生,这在输出中清晰可见: $ jfr summary /c/dev/jfrec/ddos.jf
尝试在 JMC 控制台中打开 60 MB jfr 文件时出现过大的记录错误。请帮我解决这个问题。 谢谢 最佳答案 您是否尝试过使用更多内存来运行 JMC? jmc -vmargs -Xms1024m
通过 https://www.oracle.com/technetwork/java/javaseproducts/mission-control/java-mission-control-wp-20
我不确定 OpenJDK 1.8 是否支持 JFR(java 飞行记录器)。我知道它是在 OpenJDK 错误论坛上请求的。 在 Linux 上使用 OpenJDK 并从终端执行以下命令: jcmd
有人问了类似的问题 here . 我正在使用根据 instructions 构建的 JMC 7.1.0 分析 Open JDK 11.0.2 应用程序. 该应用程序使用了大约 3 个内核,没有过多的
我有一些代码会抛出 OutOfMemoryError . 我将 JVM 设置为在 OOM 上转储,然后在 Java Flight Recorder 中打开转储。 在 JFR 中检查 Activity
我们正在尝试使用 JRockit Mission Control 分析 JFR。在 JFR 上,我们有“代码”选项卡,其中包含“热门包”和“热门方法”子选项卡。 热门方法非常有用,但通常热门方法是一些
将 -XX:+FlightRecorder 添加到我的 CATALINA_OPTS 会导致我的 catalina.out 日志中出现此错误: Error when initializing JFR.
我收到了一堆多个 JFR 文件进行分析,比如 170,一个一个打开需要很长时间,我可以把它们放在一个文件中吗,从我只有文件和我的事实开始无法配置 JVM 并再次获取 JFR。例如 2020_03_30
我是一名优秀的程序员,十分优秀!