我想使用JVisualVM监视本地Java应用程序。当我启动它时,弹出的本地java应用程序无法监控'或者'无法检测到本地应用程序'显示。我已阅读here这是一个权限问题。每当我向我(已登录用户)和所有人(Windows用户)授予对文件夹%TMP%hsperfdata_MY_USER_ID
的完全访问权限时,我启动JVisualVM时都会重置权限。
我知道另一个解决方案是删除hsperfdata_MY_USER_ID,但为什么权限不起作用呢?权限文件夹是否重置了Windows功能?
系统:Windows 7
在cmd上测试以管理员身份启动。我使用相同的帐户,但我没有传递任何JVM参数,例如com.sun.management.jmxremote.port = XXXX。
答案 0 :(得分:5)
对于那些有FAT类型文件系统的人来说:
e:\temp
。java
启动jvisualvm
和TMP=E:\temp
。为java设置环境变量有三个选项:
TMP=E:\temp
cmd
提示符,并在从同一提示符启动您的Java应用程序之前执行set TMP=E:\temp
。.bat
文件中。在bat文件的末尾选择添加pause
,以防止在运行时异常或vm崩溃时控制台窗口消失。同样,对于JVisualVM,请使用最后两个选项之一。
答案 1 :(得分:0)
我遇到了“无法监视本地应用程序”的问题,解决了这样的问题:
我的问题和解决方案与权限无关,因此可能不适用于该问题中的原始问题。
答案 2 :(得分:0)
这个答案有点琐碎,但可能仍然可以节省时间。
检查您的 java 应用程序没有使用“-XX:-UsePerfData”选项启动。