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

Я добавляю микробенчмарк в свое приложение 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 не работает при инициализации:

java -jar target/benchmarks.jar -prof xperfasm

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

Я хотел бы иметь возможность профилировать свои микробенчмарки с более полными данными, чем данные, предоставленные профилировщиком стека.

Спасибо :)


person Pleymor    schedule 12.06.2019    source источник
comment
Да, нужно запускать от имени администратора. Кроме того, вам понадобится плагин hsdis для получения вывода сборки.   -  person Jorn Vernee    schedule 26.06.2019


Ответы (1)


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

person sascha    schedule 21.06.2019