日期:2014-05-17  浏览次数:20703 次

在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