无法在Windows 7上运行作为服务的Tomcat7使用JVisualVM分析

我正在使用在本地运行的JVisualVM(JDK 1.7.0 – 06,64位),在Apache Tomcat(7.0.34)中配置一个作为Windows 7(64位)服务的Servlet。

最初,由于不同的“java.io.tmp”属性bug /功能,Tomcat没有显示在本地应用程序列表中,而是在本论坛的几个帖子中提供了解决方法

然而,尽管Tomcat进程现在在本地应用程序列表中显示为“本地应用程序”,但是当我打开进程时,没有用于监视器,线程,采样器或配置文件的选项卡 – 只有“JVM参数”和“系统属性”子项的“概览”选项卡-tabs显示可怕的“不支持此jvm”消息。

我仔细检查了以下项目:

> Tomcat和JVisualVM都通过查看JVisualVM中的JVM属性(使用Tomcat的JMX连接)运行相同版本的Java,
> Tomcat和JVisualVM都通过查看JVisualVM中的系统属性(再次使用Tomcat的JMX连接)并查看实际的TMP / TEMP目录,并确认PID文件为都存在
>文件系统是NTFS
> Windows用户名称中没有下划线(注意:用户名称中有一段时间,因为我们使用的形式为“firstname.lastname”的网络登录名,但是我没有查看其他Java应用程序的问题所以不要以为这是一个问题)
>通过查看任务管理器中的进程,Tomcat和JVisualVM都将作为同一Windows用户执行

最后几点:

>我需要配置Servlet,所以使用JMX是不够的
>我能够在Windows XP机器(Java 7,Tomcat 7作为服务)上进行配置,所以似乎是Windows 7/64位的东西?

如果有人已经明确地解决了这个问题,解决方案将不胜感激。但是,只要知道其他人是否运行相同的配置 – Windows 7 64位,Java 7 64位,作为服务运行的Tomcat 7,这将是有用的。

更新:而不是作为服务运行,我使用批处理文件运行Tomcat,并且都运行良好:运行作为服务是什么?

你几乎做了“”而不是作为一个服务运行,我使用批处理文件运行Tomcat,并且都运行良好:运行作为服务是什么“现在唯一的一个步骤是运行JVisualVM作为服务:)

请参考

https://blogs.oracle.com/nbprofiler/entry/monitoring_java_processes_running_as

由于只能在与VisualVM相同的用户下运行的Java进程可以进行概要分析,因此只能将Windows服务(认运行在系统帐户下)配置为Windows服务。请注意,由于安全性限制,这种方法在Windows Vista上不起作用,认情况下会阻止服务显示任何UI。

一个选项是运行CMD.EXE作为本地系统运行,请参考下面。

http://vicevoice.blogspot.in/2009/09/vaas-visualvm-as-service.html

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...