在Windows上运行xperfasm JMH分析器时出错:xperf:错误:NT内核记录器:无效的标志。 (0x3ec)

时间:2019-06-12 09:07:49

标签: java windows profiling microbenchmark jmh

感谢JMH,我正在为我的JAVA应用程序添加微基准测试。

我正在Windows 10上运行基准测试:

堆栈分析器运行良好:

java -jar target/benchmarks.jar -prof stack
  

次要结果   “ benchmark.ValueExtractorBench.cleanValue_Benchmark:·stack”:堆栈分析器:

     

.... [线程状态分布] ............................................... .....................

99.7%         RUNNABLE
 0.3%         WAITING
     

.... [线程状态:可运行] ............................... ...................................

 26.6%  26.7% java.lang.String.regionMatches
 23.2%  23.2% blabla...

但是 xperfasm 在初始化时失败:

java -jar target/benchmarks.jar -prof xperfasm
  

#运行进度:0.00%完成,预计到达时间00:00:00   #叉子:5之1   #准备分析器:WinPerfAsmProfiler线程“主”中的异常java.lang.IllegalStateException:无法启动xperf:[xperf:错误:NT内核记录器:无效的标志。 (0x3ec)。 ]

at org.openjdk.jmh.profile.WinPerfAsmProfiler.beforeTrial(WinPerfAsmProfiler.java:129)
at org.openjdk.jmh.runner.Runner.runSeparate(Runner.java:649)
at org.openjdk.jmh.runner.Runner.runBenchmarks(Runner.java:561)
at org.openjdk.jmh.runner.Runner.internalRun(Runner.java:320)
at org.openjdk.jmh.runner.Runner.run(Runner.java:209)
at org.openjdk.jmh.Main.main(Main.java:71)

注意:xperfasm在可用的探查器(-lprof)中列出得很好

我希望能够使用比 stack 分析器提供的数据更完整的数据来分析我的微基准。

谢谢:)

1 个答案:

答案 0 :(得分:0)

当我尝试从没有管理员权限的控制台 运行此错误代码时,我观察到了确切的错误代码。