如何使用JDK分析工具?在出现一些问题之前,我是否需要查看配置工具(JConsole或VisualVM)?

时间:2019-12-03 23:02:33

标签: java profiling visualvm jconsole

我是剖析的新手(不过一般来说不是Java),我对Java或Kotlin剖析的最佳实践感兴趣。

我阅读了多篇文章,观看了一些视频。我可以手动完成分析(例如,timestampEnd-timestampStart),也可以使用标准分析工具(仅在此处编写JDK中包含的工具)进行分析

在文章中描述了如何使用这些工具,但始终没有最佳实践。

所以我的问题是:是的,这些工具实时显示正在发生的事情。但是程序员是否需要坐着看几天以赶上程序开始混乱的那一刻? AFAIK的过程应该相反:只要程序可以正常运行,但是遇到问题的那一刻应该自动捕获并记录下来,然后通知程序员并由他们进行分析,不是吗?那么实时性能分析工具如何提供呢?最佳做法是什么?

(我的问题看起来很笼统,可能是在回答之后,我将学习更多有关使用答案进行概要分析的信息,并且更加具体)

1 个答案:

答案 0 :(得分:1)

这几乎就是JFR旨在帮助解决的问题。具有结构化的方式来在存储库中记录来自JVM / JDK / Java应用程序的各种事件和度量,可以将其作为自描述的二进制文件进行检索。因此,您的生产JVM可以使用JFR的低开销配置运行,该配置包含有关应用程序中发生的事情的详细信息,而您拥有一些轻量级指标,并且某些监视器会不断检查它们,并在发生某些情况时提醒您。然后,您只需下载JFR配置文件并调查发生了什么情况。