Java在当前用户的TEMP目录下(见环境变量中的TEMP设置),新建一个hsperfdata_<windows userid>文件夹(所有字母都是小写),里面放置的是Java进程列表:
[img]http://dl.iteye.com/upload/attachment/0078/5231/47e990b0-bdf5-3bab-bbda-7864e0818923.png[/img]
该文件夹的读写权限很低,即使手动修改也会被重置:
[img]http://dl.iteye.com/upload/attachment/0078/5235/dc5aae97-aede-3c0c-af53-0c8e02c663a4.png[/img]
如果用户或其它进程修改文件夹前缀(hsperfdata)的字符为大写,会导致jconsole不能显示当前的Java进程列表:
[img]http://dl.iteye.com/upload/attachment/0078/5270/1e321b2e-e69f-3b54-9235-16c1cd92ae39.png[/img]
如果修改后缀(<windows userid>)的字符为大写,会导致jconsole不能连接Java进程:
[img]http://dl.iteye.com/upload/attachment/0078/5274/e56488eb-f451-3be1-9ba4-bd4e015346ec.png[/img]
解决方案:
1. 关闭所有的java进程,将hsperfdata_<windows userid>的字母全部改成小写:
2. 修改环境变量TEMP的值,指向另外一个目录。
[img]http://dl.iteye.com/upload/attachment/0078/5231/47e990b0-bdf5-3bab-bbda-7864e0818923.png[/img]
该文件夹的读写权限很低,即使手动修改也会被重置:
[img]http://dl.iteye.com/upload/attachment/0078/5235/dc5aae97-aede-3c0c-af53-0c8e02c663a4.png[/img]
如果用户或其它进程修改文件夹前缀(hsperfdata)的字符为大写,会导致jconsole不能显示当前的Java进程列表:
[img]http://dl.iteye.com/upload/attachment/0078/5270/1e321b2e-e69f-3b54-9235-16c1cd92ae39.png[/img]
如果修改后缀(<windows userid>)的字符为大写,会导致jconsole不能连接Java进程:
[img]http://dl.iteye.com/upload/attachment/0078/5274/e56488eb-f451-3be1-9ba4-bd4e015346ec.png[/img]
解决方案:
1. 关闭所有的java进程,将hsperfdata_<windows userid>的字母全部改成小写:
2. 修改环境变量TEMP的值,指向另外一个目录。