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.
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, bothjmc
andjvisualvm
started to work again.Note: you need to kill all currently running Java applications before changing the name of the folder.