There are two potential work-arounds for this issue:
Set the TMP environment variable to refer to a directory on an NTFS file system, or any file system that supports persistent access control lists. Note that this file system should be local to the machine. Setting this option for target applications is application specific. To set this variable in a command prompt or in a batch script, simply enter the following:
set TMP=path
The environment variable can be set globally by adding it to the list of environment variables in the System Properties (Control Panel->System, select the "Advanced" tab and click on the "Environment Variables" button). Through this interface, you can choose to set the variable for all processes run by the current user or globally as a system variable for all processes run by the system.
The TMP variable must refer to the same location for both the monitored applications and the jvmstat tools.
Changing the TMP environment variable to refer to an NTFS type file system is not always a viable option. For these cases, the HotSpot JVM provides a mechanism to bypass the the file system type check. However, using this mechanism instructs the HotSpot JVM to create the jvmstat shared memory without any access controls, allowing access to the instrumentation exported by the JVM to any user on the system.
To bypass the file system type check, set the -XX:+PerfBypassFileSystemCheck on the java command line for both the applications you want to monitor and for the jvmstat tools. Setting this option for target applications is application specific. For the jvmstat tools, the following environment variable can be set before running any of the commands:
set VMARGS=-XX:+PerfBypassFileSystemCheck
For the jvmstat tools bundled with JDK 5.0, include the following option on the command line (jps command used for illustrative purposes):