尝试在 Windows 上运行 JMH 基准测试WinPerfAsmProfiler
会出现以下错误:
ERROR: No address lines detected in assembly capture, make sure your JDK is PrintAssembly-enabled:
https://wikis.oracle.com/display/HotSpotInternals/PrintAssembly
尝试在 Windows 上运行 JMH 基准测试WinPerfAsmProfiler
会出现以下错误:
ERROR: No address lines detected in assembly capture, make sure your JDK is PrintAssembly-enabled:
https://wikis.oracle.com/display/HotSpotInternals/PrintAssembly
正如链接所暗示的那样,问题是您必须安装反汇编插件。有几种实现方式。然而,由于自我审查和版权纳粹主义的原因,大多数实现的 Windows 二进制文件都很难获得。可以在这个 SO question 中找到其他信息(我在其中更新了建议的构建步骤,这里不再重复)。
您将遇到的另一个问题是您必须以管理员身份运行分析会话。
有关配置 perfasm 的系统属性的其他信息,只能在 and 的源代码中找到AbstractPerfAsmProfiler
(WinPerfAsmProfiler
至少,从 1.9.2 版开始)。
xperf-setprofint 1221 cached
一个可能有用的提示:您可以通过在任何管理员命令提示符下运行来将 xperf 的采样频率从 1KHz 增加到 8KHz(并获得更精确的时序信息) 。