【发布时间】:2016-10-27 17:18:05
【问题描述】:
我有一个托管 JVM 的 Win64 C++ 程序。正常执行时,我可以从 JConsole 连接到它并查看统计信息。该进程出现在本地进程列表中。
当同一程序作为另一个用户运行时(从已保存凭据的计划作业),该进程不在列表中。我有这台机器的管理员权限,不知道这是否重要。
【问题讨论】:
标签: java windows jvm jconsole jrmp
我有一个托管 JVM 的 Win64 C++ 程序。正常执行时,我可以从 JConsole 连接到它并查看统计信息。该进程出现在本地进程列表中。
当同一程序作为另一个用户运行时(从已保存凭据的计划作业),该进程不在列表中。我有这台机器的管理员权限,不知道这是否重要。
【问题讨论】:
标签: java windows jvm jconsole jrmp
Java 在 TEMP 目录中创建一个hsperfdata_xxx 目录。在其中保存了在 jvm 中运行的进程的信息。只有当运行 jconsole 的 jvm 使用与您要检查的 java 应用程序相同的目录时,它们才能看到彼此。
我假设其他用户有其他 TEMP 目录,这就是您的 jconsole 看不到其他应用程序的原因。
我建议您为两个用户设置相同的 TEMP 目录。
我在为一个用户安装多个 java 时遇到了这个问题。
【讨论】:
在任务管理器中找到进程的PID,然后运行
"PATH_TO_JDK_BIN\jconsole" PID
【讨论】: