Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.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/4/powerbi/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应用程序的线程_Java_Windows_Multithreading_Monitoring - Fatal编程技术网

在本地分析独立Java应用程序的线程

在本地分析独立Java应用程序的线程,java,windows,multithreading,monitoring,Java,Windows,Multithreading,Monitoring,尊敬的专家们 我有一个独立的java应用程序,希望监视它创建的线程。我计划使用JConsole或JVisualVM之类的工具。但是,我无法将这些工具本地连接到我的Java应用程序 我使用的是Windows机器。JConsole和Java程序正在本地运行。我尝试使用以下JMV参数运行Java应用程序,但没有成功: java -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dc

尊敬的专家们

我有一个独立的java应用程序,希望监视它创建的线程。我计划使用JConsole或JVisualVM之类的工具。但是,我无法将这些工具本地连接到我的Java应用程序

我使用的是Windows机器。JConsole和Java程序正在本地运行。我尝试使用以下JMV参数运行Java应用程序,但没有成功:

java -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false    -Dcom.sun.management.jmxremote.authenticate=false LinkedListTest
当我尝试使用JConsole连接时,我的进程id显示为灰色,并显示以下消息:

  • 注意:此进程上未启用管理代理
我认为我应该能够将JConsole连接到一个独立的java应用程序。你知道我在这里错过了什么吗


感谢和问候

感谢您的投入。我能够解决问题,具体如下:

正如@Holger所提到的,JConsole和JVisualVM都可以连接到本地Java应用程序,而无需任何JMX参数。我面临的问题是特定于机器的。我重新启动了计算机并删除了以下目录:

%TMP%\hsperfdata\u User.Name

(未重新启动,我无法删除此目录)

重新启动JConsole/JVisualVM,并能够使用进程id连接到本地java进程。 事实上,JVisualVM的使用为我指出了这个解决方案。在JVisualVM启动时,我收到一条错误消息,指出无法监视本地进程/应用程序之类的内容。这条消息有到的链接。我正在复制相关片段:

无法监视本地应用程序(启动时出现错误对话框)

描述:VisualVM启动后立即显示一个错误对话框,说明无法监视本地应用程序>。本地运行的Java应用程序显示为应用程序>(pid)

解决方案:如果用户名包含大写字母,则在Windows系统上可能发生这种情况。在>这种情况下,用户名是username,但JDK创建的jvmstat目录是>%TMP%\hsperfdata\u username。要解决此问题,请退出所有Java应用程序,删除>%TMP%\hsperfdata\u用户名目录并创建新的%TMP%\hsperfdata\u用户名目录

但是,在我的计算机上,目录的格式如下:

%TMP%\hsperfdata\u User.Name

因此,我的建议是: -检查上述目录的名称是否存在camel case用户名 -如果没有,请按照《故障排除指南》中的步骤进行操作 -如果问题仍然存在,请删除目录(可能需要重新启动计算机,如我的情况) -重新启动JConsole/JVisualVM

希望这个问题能够得到解决


感谢和问候

感谢您的投入。我能够解决问题,具体如下:

正如@Holger所提到的,JConsole和JVisualVM都可以连接到本地Java应用程序,而无需任何JMX参数。我面临的问题是特定于机器的。我重新启动了计算机并删除了以下目录:

%TMP%\hsperfdata\u User.Name

(未重新启动,我无法删除此目录)

重新启动JConsole/JVisualVM,并能够使用进程id连接到本地java进程。 事实上,JVisualVM的使用为我指出了这个解决方案。在JVisualVM启动时,我收到一条错误消息,指出无法监视本地进程/应用程序之类的内容。这条消息有到的链接。我正在复制相关片段:

无法监视本地应用程序(启动时出现错误对话框)

描述:VisualVM启动后立即显示一个错误对话框,说明无法监视本地应用程序>。本地运行的Java应用程序显示为应用程序>(pid)

解决方案:如果用户名包含大写字母,则在Windows系统上可能发生这种情况。在>这种情况下,用户名是username,但JDK创建的jvmstat目录是>%TMP%\hsperfdata\u username。要解决此问题,请退出所有Java应用程序,删除>%TMP%\hsperfdata\u用户名目录并创建新的%TMP%\hsperfdata\u用户名目录

但是,在我的计算机上,目录的格式如下:

%TMP%\hsperfdata\u User.Name

因此,我的建议是: -检查上述目录的名称是否存在camel case用户名 -如果没有,请按照《故障排除指南》中的步骤进行操作 -如果问题仍然存在,请删除目录(可能需要重新启动计算机,如我的情况) -重新启动JConsole/JVisualVM

希望这个问题能够得到解决


感谢和问候

感谢您的投入。我能够解决问题,具体如下:

正如@Holger所提到的,JConsole和JVisualVM都可以连接到本地Java应用程序,而无需任何JMX参数。我面临的问题是特定于机器的。我重新启动了计算机并删除了以下目录:

%TMP%\hsperfdata\u User.Name

(未重新启动,我无法删除此目录)

重新启动JConsole/JVisualVM,并能够使用进程id连接到本地java进程。 事实上,JVisualVM的使用为我指出了这个解决方案。在JVisualVM启动时,我收到一条错误消息,指出无法监视本地进程/应用程序之类的内容。这条消息有到的链接。我正在复制相关片段:

无法监视本地应用程序(启动时出现错误对话框)

描述:VisualVM启动后立即显示一个错误对话框,说明无法监视本地应用程序>。本地运行的Java应用程序显示为应用程序>(pid)

解决方案:如果用户名包含大写字母,则在Windows系统上可能发生这种情况。在>这种情况下,用户名是username,但JDK创建的jvmstat目录是>%TMP%\hsperfdata\u username。要解决此问题,请退出所有Java应用程序,删除>%TMP%\hsperfdata\u用户