在我的Windows XP机器中,我尝试像这样运行jconsole:
jconsole 2228
这里2228是进程的pid(从任务管理器获取)。 输出是:
Unable to attach to 2228: Could not map vmid to user name
我的java版本是1.5.0_07 也尝试了
jps -mlv
。 输出为空。在tmp文件夹中没有hsperfdata_。 在linux框中尝试了同样的结果。在linux框中我以root身份登录。输入了id命令:
# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
输出jps命令:
jps -mlv
28574 sun.tools.jps.Jps -mlv -Dapplication.home=/usr/local/Java/jdk1.5.0_16 -Xms8m
与Windows框的一个区别是至少存在/ tmp / hsperfdata_root,权限是:
drwxr-xr-x 2 root root 4096 Dec 17 12:52 hsperfdata_root
Plz帮助。 问候, Subhendu
答案 0 :(得分:0)
好吧,我发现添加系统属性com.sun.management.jmxremote解决了这个问题。 但是,如果有人想要添加任何内容以增强我的理解 - 最受欢迎。
此致
Subhendu
答案 1 :(得分:0)
如果您尝试使用Windows上的PID进行连接,则运行jconsole的用户和运行jvm的用户的TEMP目录必须相同。如果jps没有列出你的jvm,那就是问题。
这通常发生在作为以SYSTEM用户身份运行的Windows服务运行的JVM中。 SYSTEM用户的临时目录通常是C:\ windows \ temp。您的临时目录可能是C:\ Documents和Setting \ YOURNAME ...