我们有一个性能很差的应用程序,因此我们使用飞行记录器的方法分析,看看时间都花在哪里了。它基本上起作用了,但一分钟的记录所采集的样本数远低于100个。(使用“分析”预设)
我使用了一个简单的示例应用程序(对随机数求和)进行比较,它产生了大约6000个样本一分钟或记录--这在我看来是正确的。
Java飞行记录器的采样方法是非常具体的。有两种类型的方法样本
这些相同的是单独的,只有前者是由任务控制可视化的。在这两种类型的示例中都省略了以下执行状态。
我在启动时通过为测试中的Java程序指定以下CLI选项来启动JFR: 测试执行需要90秒才能完成。 在Java Mission Control中打开JFR转储后,JMC中的Call Tree选项卡如下所示: 每秒不到1个样本。这使得详细钻取、热方法和概述选项卡实际上无用。经过初步调查,确定方法采样设置为默认值10ms,而事实证明,这个意外的结果是因为90秒中有98%的时间是在执行各种不同的数据库读
我试图使Java Flight Recorder能够在使用Neo4j桌面运行Cypher查询时每10秒收集一次线程转储。但在Neo4j桌面的“设置”选项卡(配置文件)中,建议的飞行记录器选项无法识别,并在启动过程中引发错误。 我正在使用Oracle JDK 11。 这些是我在文件中输入的命令- 当我启动DB时,这些会引发一个错误- 通过在另一个简单的程序上测试,我已经验证了飞行记录器在我的机器上工
问题内容: 我正在尝试使用JAVA解析JFR转储。我关注了这个博客,http://hirt.se/blog/?p=446。但是现在不推荐使用这些方法。JFR到JAVA是否有任何受支持的解析器?如果不能,您能否指出我是否可以从JFR转储中检索数据? 问题答案: 正如Klara提到的那样,没有官方支持的解析器。希望JDK 9将正式支持JFR解析器。现在,您可以使用Hirt博客中提到的API 。不用担心
今天我看了一下Java7Update45中引入的任务控制,并用飞行记录器进行了一些测试。一切似乎都在按预期工作,我从我测试的应用程序中获得了大量关于线程、内存和任何东西的数据。只有一件事对我来说似乎很奇怪:在“General”类别中没有显示CPU使用情况,在CPU使用情况图标下面只有一个句子“no Events In Recording”。当我不使用飞行记录而是使用JMX控制台时,CPU使用情况显
M Java应用程序可能存在文件描述符泄漏,因为我得到了异常。 我使用JFR运行应用程序,当我检查文件I/O时,几乎看不到任何I/O计数。是否可以使用JFR查找打开文件但不关闭文件的代码?