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, 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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With