在Windows上使用jds无法显示运行的Java程序
症状:
安装了JDK 6,设置了JAVA_HOME变量,运行某个Java程序(比如Tomcat或JDK自带的java2Demo.jar)后,运行jds后不显示运行Java程序相关的信息
原因:
1. Java程序缺少读写Windows的临时目录的权限
2. Windows的临时目录是放在非NTFS分区(确切地说,是不支持ACL的分区)
解决办法:
1. 重新授权
2. 运行需要监控的Java程序时加上参数-XX:+PerfBypassFileSystemCheck
运行jvmstat工具时也加上参数-XX:+PerfBypassFileSystemCheck,或设置环境变量VMARGS为-XX:+PerfBypassFileSystemCheck
参考:
Local Applications Cannot Be Detected (Error Dialog on Startup)
Cannot see local process list in JConsole of JDK6
Bug ID: 5042659 hsperfdata is not being created on non-NTFS partitions