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-приложения перед изменением имени папки.