java-如何在Windows Server 2003下的本地系统帐户下运行jvisualvm.exe?

我正在使用Java 1.6 u 20在Windows Server 2003下将GlassFish 3.0.1作为Windows服务运行,并且总体上很高兴.

我希望能够在此JVM上使用VisualVM,并以Unable to use JConsole with Tomcat running as windows service作为起点,但从

PsTools\PsExec.exe -i -s "C:\Program Files\Java\jdk1.6.0_20\bin\jvisualvm.exe"

导致jvisualvm.exe和nbexec.exe进程在任务管理器中以用户身份显示为SYSTEM,但我自己手动运行该程序时却看不到该程序的任何GUI.我从Windows 7使用远程桌面登录,以防万一.

其他有趣的观点:

at 10:55 /interactive cmd.exe

报告已添加新作业,但未在10.55打开CMD窗口.

有关如何将VisualVM注册为服务的描述报告了该服务已启动,但未显示GUI. http://blogs.oracle.com/nbprofiler/entry/monitoring_java_processes_running_as

有人让它可以在Windows Server 2003下运行吗?

解决方法:

我能够执行此操作的方法是确保将远程桌面远程访问服务器的“控制台”会话.

简而言之,当您打开mstsc.exe时,将文本“ / admin”添加到您要连接的计算机名称上.例如,如果您尝试连接到名为“ FOO”的服务器,则在mstsc.exe的“计算机名称”文本框中,您将输入“ FOO / admin”.

连接并登录到服务器后,您可以执行PsExec命令.然后,您应该看到正在尝试连接的GlassFish进程的Visual VM.

有关在Windows中使用远程桌面连接到控制台会话的更多信息,请查看“如何连接到控制台”部分http://support.microsoft.com/kb/278845.

另外,对于那些正在寻找PsExec.exe的人,可以从Microsoft的PsTools程序包中获取它,网址为technet.microsoft.com/zh-cn/sysinternals/bb897553.aspx.

上一篇:java-VisualGC中的“编译时间”是什么?


下一篇:VisualVM 2.0.2性能监控工具学习使用(一)