背景
我正在尝试使用 Flight Recorder 检查我的 Java 批处理应用程序以提高启动性能。现在启动大约需要 20 秒,而我正在努力使其不到 10 秒。
该应用程序使用 Spring Boot 2.2 和 Spring Batch 构建,并在 JDK 11 上运行。我使用的是 Flight Recorder 而不是 VisualVM,因为 JDK 11 不包含开箱即用的 VisualVM(在检查环境中安装其他工具并非不可能,但受到限制)。
问题
我认为我可以使用 Flight Recoder 检查启动过程,所以我运行了这样的应用程序:
java -XX:StartFlightRecording=filename=demo.jfr,settings=profile -jar .\build\libs\demo-0.0.1-SNAPSHOT.jar -spring.batch.job.names importUserJob -spring.batch.job.enabled false
但 Mission Control 在“方法分析”面板中仅显示约 100 个计数。了解整个启动过程的趋势并检查哪种方法在该过程中花费的时间最多,这太少了。
问题
如何使用 Flight Recorder 和 JDK Mission Control 获取更多方法计数?文件中的哪个参数.jfc
会影响方法计数的数量?