您的位置:首页 > 其它

windows下Jconsole本地连接失败的解决方法

2015-05-08 00:00 609 查看
摘要: 系统环境:win8.1 64位,myeclipse10,jdk1.7 32位

在myeclipse里编写demo程序后运行,打开jconsole发现在本地进程列表发现只有jconsole本身,没有期望中的myeclipse进程和demo进程。

搜索“jconsole本地连接失败”大多数给出的答案都是:

在Run configurations……中 加入以下运行参数

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8011
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

然后使用jconsole远程连接"localhost:8011",方法可行

但是究其原因:

在 Win32 系统上,每个 java 进程启动之后都在 %TMP%/hsperfdata_user(user为当前登录用户名)目录下建立一个以该 java 进程 pid 为文件名的文件,用以记录该 java 进程的一些信息。而 jconsole 和 jps 正是利用这些文件来获取当前系统中 java 进程的信息的。

在CMD命令行输入set tmp 显示临时目录为"TMP=C:\Users\我的用户名\AppData\Local\Temp",而在java程序中打印System.getProperty("java.io.tmpdir")显示为"C:\Windows\Temp",

运行demo程序发现在"C:\Windows\Temp\hsperfdata_我的用户名"发现新创建的vmid文件。将此文件复制到"C:\Users\我的用户名\AppData\Local\Temp\hsperfdata_我的用户名"下,此时打开jconsole即可看到本地demo进程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: