我试图使用jvmmonitor在eclipse中分析我的应用程序,但没有列出jvm,甚至没有运行的eclipse jvm,当我启动我的应用程序时,新的jvm没有出现。
Docs说:
JVM Explorer中至少应显示一个JVM(Eclipse本身)。如果没有显示JVM,则很可能Eclipse没有使用受支持的JDK启动。例如,可以使用JRE而不是JDK。要解决此问题,请通过Help > About Eclipse > Installation Details > Configuration检查系统属性java.home的值。您可能会看到,没有将受支持的JDK指定给java. home。关闭Eclipse。要在Eclipse上强制使用所需的JDK,请为eclipse可执行文件指定选项-vm,或者在eclipse.ini中指定它。要了解如何指定该选项,请参阅Workbench User Guide。启动Eclipse。
Eclipse配置中的java.home属性是/home/myname/programs/jdk/jre
我试图改变它,但没有什么会。my-vm已经设置为jdk目录,我的linux .profile和.bashrc导出到jdk目录的JAVA_HOME,但是eclipse中的java.home仍然是/home/myname/programs/jdk/jre
我还在java>monitor>tools preferences页面中将jdk根目录设置为/home/myname/programs/jdk/,但仍然没有成功。
我已经卸载了jvmmonitor并完全重新安装了它,但没有任何变化。
我正在用JDK 7和JVMMonitor3.8运行靛蓝
这是驾驶我坚果现在,任何想法将是最受欢迎的
先谢谢你了
5条答案
按热度按时间liwlm1x91#
经过几个小时的摸索,我找到了解决办法。我现在使用的是VisualJVM,但它们的操作方式相同,即连接到本地套接字并设置JMX连接。
首先,jvmmonitor/visualjm和你的java应用程序必须在同一个用户下运行。
用户必须对linux /tmp/上的tmp目录具有写访问权限。
当启动任何java应用程序时,会在tmp的hsperfdata_myusername文件夹中创建一个包含java程序进程PID的本地文件,java分析软件使用该文件连接到运行java程序的jvm。
如果你从一个终端启动一个java程序,而终端的当前目录不是你的主目录,例如。从MYNAME:/home/myname/project/myjavaapp$启动,您可能会发现您可以连接到JVM,但无法对其进行采样或分析。将当前目录设置为主目录应该可以解决这个问题。
zvokhttg2#
您必须更改Eclipse的.ini文件
只需添加:
下面是eclipse.ini文件的完整版本:
mqkwyuun3#
这个来自JVisualVM Troubleshooting Guide的解决方案也对我的jvmmonitor有帮助:
本地应用无法监控
**说明:**VisualVM启动后立即显示无法监控本地应用的错误对话框。本地运行的Java应用程序显示为(pid #)。
**解决方案:**如果用户名包含大写字母,则在Windows系统上可能会发生这种情况。在本例中,username是
UserName
,但JDK创建的jvmstat目录是%TMP%\hsperfdata_username
。要解决此问题,请退出所有Java应用程序,删除%TMP%\hsperfdata_username
目录并创建新的%TMP%\hsperfdata_UserName
目录。ygya80vv4#
你检查了这个JVMMonitor的FAQ中的指令吗?
如果问题仍然存在,请以管理员身份运行Eclipse,至少在安装JVM Monitor插件后运行一次。
这为我解决了问题。
tzdcorbm5#
在尝试第一个解决方案(更改ini文件)后,它不起作用,我只是在首选项中输入jdk路径: