问题标签 [jfr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 JFR 时应用程序 TPS 下降
我的 Springboot 应用程序旨在支持 500 tps。应用程序连续提供 500 TPS,但是当我们使用以下命令获取 JFR 时,应用程序 TPS 下降到低于 100。
JFR 命令:
/opt/drutt/local/jdk1.8.0_112/bin/jcmd JFR.start设置=配置文件持续时间=1m 文件名=/tmp/my_file_1.jfr
JFR命令有问题吗?JFR 是否有助于性能下降?
java - 鉴于 JFR 承诺低开销,它如何设法记录堆栈跟踪?
通过https://www.oracle.com/technetwork/java/javaseproducts/mission-control/java-mission-control-wp-2008279.pdf,我遇到了以下引用:
当今用于监视、管理和分析 Java 运行时的大多数技术都使用相当侵入性的技术,例如字节码检测和 JVMTI。
这让我想知道 JFR 进行堆栈跟踪采样的方式。
我在网上能找到的最接近答案的是这篇博文:http: //psy-lob-saw.blogspot.com/2016/06/the-pros-and-cons-of-agct.html,提到诸如 Honest profiler 和 async-profiler 之类的分析器使用了未记录的 AsyncGetCallTrace,但事实是它没有提及 JFR 进行堆栈跟踪采样/记录的具体方式。
这里有没有人对这个主题的 JFR 内部有任何见解?
java - 使用 JMC 命令行选项从当前系统记录远程 Docker 上的应用程序事件
基本上我想从我当前的系统 JMC 记录在 docker 上运行的应用程序事件(JFR 数据)。
后续步骤:
- 在我的 docker 服务上启用了 JFR 端口。
- 验证我是否能够从我当前的系统访问 docker 服务的 JMS 端口并且它工作正常。
- 当我尝试从 JMC 应用程序记录应用程序事件时,我在转储中获得了正确的数据,但是当我尝试使用命令行选项执行相同操作时,我没有获得正确的转储。
- 作为项目的一部分,我们确实有一个内部调用应用程序事件的批处理文件。我创建了一个本地 jar 文件,它将调用批处理文件并在该 jar 文件上运行 JFR 命令行选项,但我仍然没有得到正确的信息。在转储文件上。
有没有人提供任何建议。
java - 如何分析生成的异常数量,按异常类或代码行分类
我正在使用许多开源第三方库,飞行记录显示代码每秒产生数万个异常。
我如何追踪抛出了哪种类型的异常,以及它在源代码中被抛出的位置,以便我可以查看是否可以自己修复第三方代码?
据我所知,Java Mission Control 没有显示任何异常类型或来源的细分。
请不要推荐昂贵的商业分析器,因为这是一个开源项目。
jfr - RedHat OpenJDK 8 中的 JDK 飞行记录器反向移植
我想问一下,是否有人知道有关 RedHat OpenJDK 8 生产版本(用于 RHEL 7)中 JDK 飞行记录器反向移植的日期或更多信息?我已经尝试了最后一个不包含它的构建(1.8.0_242-b08),并且基于这篇文章(https://www.i-programmer.info/news/80-java/13279-openjdk- 8-to-get-jdk-flight-recorder.html)我认为它会包含并且无处可以找到更多信息。最好的问候和感谢您的回答。
java - 为什么 HotSpot ExecutionSample 事件总是返回 STATE_RUNNABLE?
我在 OpenJDK11 中使用 HotSpot 的ExecutionSample 事件。
它有一个线程状态字段,但我只看到该字段的一个值:STATE_RUNNABLE
HotSpot 如何选择要采样的线程?为什么它们总是可运行的?
Kotlin 中的简单复制代码:
只打印:Thread state: STATE_RUNNABLE
java - 如果我有多个 Java 飞行记录器文件 (.JFR),如何将它们合并在一起,以便一次性在 Java 任务控制中查看它们
我收到了一堆多个 JFR 文件进行分析,比如 170 ,并且一个一个打开需要很长时间,我可以将它们放在一个文件中,从我只有文件并且我无法配置的事实开始JVM 并再次获取 JFR。例如
- 2020_03_30_20_37_01_2333_0.jfr
- 2020_03_30_21_37_01_2333_0.jfr
- 2020_03_30_22_37_01_2333_0.jfr
2020_03_30_23_37_01_2333_0.jfr
. . .
- ñ
java - 是否可以使用 JFR 和 JMC(JDK 任务控制)可视化每个线程的 cpu 使用情况?
我已经开始涉足 JFR + JMC 组合,坦率地说,它很棒(很棒的工作 Hirt & co)。
我想监控的一个指标是每个线程的 cpu 使用率,但我还没有确定它是否存储在任何地方。有 CPU% 的常用图表,但我希望看到类似的图表分解成单独的线程。
如果我使用 JMX 连接到正在运行的实例,则统计信息在线程选项卡下可用,但我无法为记录的 JFR 运行找到它。那是已经存在的东西还是我自己很容易实现的东西?
java - Java飞行记录器分析摘要提取
我希望能够以文本格式提取通过分析 JFR 记录检测到的“热点”的某种摘要。确切地说,我想提取由于运行某些特定功能或某些特定类而产生的热点。像这样的东西:
MyClass
并获取从in 中调用的最耗时的 10 个方法的表格org.me
。我尝试查看jfr
命令行工具,但它没有这样的功能。或者,江铃只有图形界面,没有命令行界面。还有其他方法可以获得这样的结果吗?
java - 有没有办法检查特定的 jdk(Oracle 或 OpenJDK)是否支持 Java Flight Recorder?
有没有办法检查特定的 jdk(Oracle 或 OpenJDK)是否支持 Java Flight Recorder?我一直在尝试在OPEN JDK 8上运行我的应用程序,如下所示
java -XX:StartFlightRecording
但这对OPEN JDK 8
. 我收到以下错误Unrecognized VM option -XX:+UnlockCommercialFeatures
但不起作用