Java Mission Control отображает "Flightrecorder не поддерживается для не горячей точки JVMS"

Когда я пытался профилировать свое локальное приложение Java, запустив Java Mission Control (jmc), Я не смог подключиться к приложению. В описании всех процессов JVM, отображаемых на левой панели, отображалось "Flightrecorder не поддерживается для JVM, не являющихся точками доступа". Моя среда: Windows 7, Java 8u25

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

1 ответ

Решение

Здесь я размещаю решение и наблюдения, которые приводят к решению.

Когда я (по стечению обстоятельств) попытался бежать jvisualvm отображалось сообщение об ошибке "Локальные приложения Java не могут контролироваться". На сайте http://visualvm.java.net/troubleshooting.html в разделе "Локальные приложения нельзя отслеживать (диалог ошибок при запуске)" я обнаружил, что в системе Windows может быть проблема с одним точным именем папки, если имя учетной записи содержит заглавные буквы.

Решение было изменить имя папки %TMP%\hsperfdata_username таким образом, что заглавная буква соответствует моему имени пользователя (в имени папки было "е" вместо "E"). После этого изменения оба jmc а также jvisualvm снова начал работать.

Примечание: вам нужно убить все запущенные в данный момент Java-приложения перед изменением имени папки.

Другие вопросы по тегам