我在 Windows Server 2008 上安装了 JBoss 服务器作为服务,使用本地系统作为登录用户。
我希望能够在 JBoss 服务器上运行 visualgc,并且在 Server 2008 之前我能够直接连接到 PID(即 visualgc [PID])。根据我所阅读的内容,我在 Server 2008 中的唯一解决方案是使用相同的凭据将 jstatd 作为服务安装,以便远程运行 visualgc(即 visualgc [PID]@localhost:1099)。
因此,我让 jstatd 在本地系统帐户下作为服务运行(在策略文件中授予 AllPermissions 并设置 java.io.tmpdir,因为它也有问题)并验证两个 java 进程都在同一个用户下运行,并且任务管理器中的会话 ID,但是 jps rmi://localhost:1099 不返回任何内容,并且 visualgc pid@localhost:1099 说“[PID] 未找到”。
有趣的是,如果我将 JBoss 和 jstatd 服务的登录用户都切换为管理员,visualgc 工作正常。同样有趣的是,在 Windows 7 Ultimate 机器上,我可以将这两种服务安装为本地系统,并且在那里运行良好。
它在 Windows 7 中作为本地系统工作的事实让我希望我可以在 Server 2008 上做一些事情来使它也能工作。如果没有,我可以尝试使用以管理员身份登录来安装服务,但我不确定这会对我的应用程序产生什么影响(如果有的话)。
我为 JBoss 和 jstatd 使用相同的 Java HotSpot(TM) 64 位服务器 VM 版本 1.6.0_10,并且我正在从 jvmstat 3.0 运行 visualgc。
还有其他人遇到这个问题或对我可以尝试的事情有任何建议吗?