Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Java VisualVM在作为服务启动时没有显示WildFly?_Java_Wildfly_Jvisualvm - Fatal编程技术网

为什么Java VisualVM在作为服务启动时没有显示WildFly?

为什么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存储在特定于用户的存储中的某个位置(文件/注册表/内

我的电脑的操作系统是Windows 7 Professional 64位。 我正在使用JDK7更新80。 我正在使用WildFly 8.2.1

当我启动WildFly作为控制台时,我可以在Java VisualVM中看到它


然后我将WildFly安装为一项服务。当我启动服务时,我在Java VisualVM中看不到它。怎么会?服务运行良好。它只是没有被Java VisualVM选中,这很奇怪。如何解决此问题?

当Java程序运行时,它会将进程id存储在特定于用户的存储中的某个位置(文件/注册表/内存?其实并不重要!)。当VisualVM启动时,它将显示该存储器中的列表


您的服务正在以不同的用户身份运行,因此VisualVM无法“看到”它。VisualVM仍然可以连接到Java进程,如果由服务启用,您只需手动操作,例如输入端口号。

jvisualvm通过查看
%TMP%\hsperfdata\u username
文件夹发现本地运行的应用程序,其中
%TMP%
是运行进程的Windows用户的临时文件夹

  • 对于作为服务运行的java进程,这可能位于
    C:\Windows\Temp
    C:\Windows\System32\Config\systemprofile\AppData\Local\Temp
    (假设在环境变量中配置的Temp文件夹为TMP=%USERPROFILE%\AppData\Local\Temp)
  • 对于在普通用户下运行的应用程序,pid文件将位于
    C:\Users\yourUser\AppData\Local\Temp\hsperfdata\u yourUser
如果jvisualvm和您要监视的进程不是在同一用户下运行的,那么visualVm将找不到该应用程序。要解决此问题,您可以临时将TMP环境变量指向同一临时文件夹

要监视Wildfly应用程序服务器,您需要以以下方式运行jvisualvm:

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连接到它