为什么Java VisualVM在作为服务启动时没有显示WildFly?
我的电脑的操作系统是Windows 7 Professional 64位。 我正在使用JDK7更新80。 我正在使用WildFly 8.2.1 当我启动WildFly作为控制台时,我可以在Java VisualVM中看到它为什么Java VisualVM在作为服务启动时没有显示WildFly?,java,wildfly,jvisualvm,Java,Wildfly,Jvisualvm,我的电脑的操作系统是Windows 7 Professional 64位。 我正在使用JDK7更新80。 我正在使用WildFly 8.2.1 当我启动WildFly作为控制台时,我可以在Java VisualVM中看到它 然后我将WildFly安装为一项服务。当我启动服务时,我在Java VisualVM中看不到它。怎么会?服务运行良好。它只是没有被Java VisualVM选中,这很奇怪。如何解决此问题?当Java程序运行时,它会将进程id存储在特定于用户的存储中的某个位置(文件/注册表/内
然后我将WildFly安装为一项服务。当我启动服务时,我在Java VisualVM中看不到它。怎么会?服务运行良好。它只是没有被Java VisualVM选中,这很奇怪。如何解决此问题?当Java程序运行时,它会将进程id存储在特定于用户的存储中的某个位置(文件/注册表/内存?其实并不重要!)。当VisualVM启动时,它将显示该存储器中的列表
您的服务正在以不同的用户身份运行,因此VisualVM无法“看到”它。VisualVM仍然可以连接到Java进程,如果由服务启用,您只需手动操作,例如输入端口号。jvisualvm通过查看
%TMP%\hsperfdata\u username
文件夹发现本地运行的应用程序,其中%TMP%
是运行进程的Windows用户的临时文件夹
- 对于作为服务运行的java进程,这可能位于
或C:\Windows\Temp
(假设在环境变量中配置的Temp文件夹为TMP=%USERPROFILE%\AppData\Local\Temp)C:\Windows\System32\Config\systemprofile\AppData\Local\Temp
- 对于在普通用户下运行的应用程序,pid文件将位于
C:\Users\yourUser\AppData\Local\Temp\hsperfdata\u yourUser
C:\> set TMP=c:\Users\wildfly_user\AppData\Local\Temp
C:\> jvisualvm.exe -cp:a c:\wildfly\bin\client\jboss-client.jar
有关jvisualVm疑难解答的更多信息,请访问您是否以管理员身份运行VisualVM?您的WildFly服务设置为以特定用户身份运行吗?@watery我以管理员身份运行VisualVM。我的WildFly服务是以
本地系统
的身份登录的。系统的用户是什么?那个临时文件夹在哪里?我想这就是问题所在,您无法访问临时文件夹或系统用户。以用户身份运行WF,然后可以将VisualVm连接到它