我正在使用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.