Ошибка при запуске JMH-профилировщика xperfasm в Windows: xperf: ошибка: NT Kernel Logger: неверные флаги.(0x3ec) - PullRequest
1 голос
/ 12 июня 2019

Я добавляю микробенчмарк в мое приложение JAVA благодаря JMH.

Я запускаю тесты на Windows 10:

Профилировщик хорошо работает:

java -jar target/benchmarks.jar -prof stack

Вторичный результат "benchmark.ValueExtractorBench.cleanValue_Benchmark: · stack": профилировщик стека:

.... [Распределение состояний потоков] ...................................... ..............................

99.7%         RUNNABLE
 0.3%         WAITING

.... [Состояние резьбы: RUNNABLE] ..................................... ...................................

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

Но xperfasm не срабатывает при init:

java -jar target/benchmarks.jar -prof xperfasm

# Ход выполнения: 0,00% выполнено, ETA 00:00:00 # Вилка: 1 из 5 # Подготовка профилировщиков: Исключение WinPerfAsmProfiler в потоке "main" java.lang.IllegalStateException: Не удалось запустить xperf: [xperf: ошибка: NT Kernel Logger: недопустимые флаги. (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 profiler.

Спасибо:)

1 Ответ

0 голосов
/ 21 июня 2019

Я наблюдал именно этот код ошибки, когда пытался запустить его из консоли без прав администратора .

...