无法运行jconsole

时间:2010-12-17 07:58:20

标签: memory-leaks

在我的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

2 个答案:

答案 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 ...