VisualVM on Vista

I wanted to use VisualVM to track down a problem in a Java application running under Java 6u11, but it would not work. In the VisualVM local process list, all I could see was “<Unknown Application> (pid ###)”. When trying to connect, I’d see “not supported by this JVM”. This is on a Vista machine.

My domain username is “EBurke”, and Sun creates this directory:

%temp%\hsperfdata_eburke

In this directory, you’ll find one file for each Java process. The filenames are the PIDs.

The Fix

  1. Exit all Java apps
  2. Erase the hsperfdata_xxxx directory
  3. Create a new one, with correct capitalization.

In my case, the correct directory is:

%temp%\hsperfdata_EBurke

You can determine your username by typing “set” at the command prompt, and then finding the USERNAME setting.

Now when I run visualvm, I see the processes and I can connect to local Java apps successfully.

I submitted bug 236 for this issue.


A Says:

I’ve the exact same problem with “ (pid ###)” but user has no capital letters, Temp directory is the same set to c:\winnt\temp, user permissions look good. I always hate to deal with stupid windows specific bugs…