JNI 库分析

JNI library profiling

在我的项目中,我写了一个 java-agent 库,我想对其进行分析。这个问题已经在 2013 年提出 here. So, I tried following the suggestion, using sprof, which failed due to this problem。我也试过 oprofile,但是我仍然无法从它的输出中识别我的应用程序的瓶颈。

所以,我的问题是,java 本机库还有哪些其他合适的分析器?有人有这方面的经验吗?

您可能会发现有用 VTune Amplifier which is a profiler supporting Java code analysis。您将能够看到 Java 代码中的热点以及通过 java 源文件分布的性能指标。真正有价值的是,VTune Amplifier 显示了纯 Java 代码和 Java/C++ 混合模式代码的准确堆栈。有问题请追问

首先,您应该在配置分析时选择 "Hotspots and stacks"。请参见下面的屏幕截图。收集完成后,您应该切换到 VTune UI 中的 "Top-down Tree" 选项卡。有关 "Top-down Tree" 选项卡的更多信息是 here。 尝试使用 "Hotspots, call count and stacks" 来获取调用计数。