Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java Mission Control displaying "Flightrecorder is not supported for non hotspot jvms"

Tags:

java

jmc

When I was trying to profile my local Java application by running Java Mission Control (jmc), I wasn't able to connect to the application. It displayed 'Flightrecorder is not supported for non hotspot JVMs' in the description of all JVM processes displayed in the left pane. My environment: Windows 7, Java 8u25

Because I wasn't able to find solution for this problem anywhere on the net, I want to share the solution that I luckily discovered for other people (and my future self) who might run into the same problem in the future.

like image 654
Fanick Avatar asked Nov 26 '14 23:11

Fanick


1 Answers

Here I am posting the solution and observations that lead to the solution.

When I (by coincidence) tried to run jvisualvm it displayed error "Local Java applications cannot be monitored". On http://visualvm.java.net/troubleshooting.html in section titled "Local Applications Cannot Be Monitored (Error Dialog On Startup)" I found that on Windows system there could be problem with one exact folder name if the account name contains capitalized letters.

Solution was to alter the name of folder %TMP%\hsperfdata_username in a way that the capitalization corresponds with the my username (there was 'e' instead of 'E' in the folder name). After this change, both jmc and jvisualvm started to work again.

Note: you need to kill all currently running Java applications before changing the name of the folder.

like image 199
Fanick Avatar answered Oct 20 '22 00:10

Fanick