3

我正在尝试使用 jvmonitor 在 eclipse 中分析我的应用程序,但没有列出 jvm,甚至没有正在运行的 eclipse jvm,当我启动我的应用程序时,新的 jvm 没有出现。

文档说>

JVM Explorer 上应至少显示一个 JVM(Eclipse 本身)。如果未显示 JVM,则 Eclipse 可能未使用受支持的 JDK 启动。例如,可以使用 JRE 代替 JDK。要解决此问题,请使用 Help > About Eclipse > Installation Details > Configuration 检查系统属性 java.home 的值。您可能会看到 java.home 未指定支持的 JDK。关闭 Eclipse。要在 Eclipse 上强制使用所需的 JDK,请为 eclipse 可执行文件指定选项 -vm,或者在 eclipse.ini 中指定它。请参阅 Workbench 用户指南以了解如何指定该选项。启动 Eclipse。

eclipse 配置中的 java.home 属性说 /home/myname/programs/jdk/jre

我试图改变它,但没有任何改变。我的 -vm 已经设置为 jdk 目录,我的 linux .profile 和 .bashrc 导出到 JAVA_HOME 到 jdk 目录,但 Eclipse 中的 java.home 仍然显示 /home/myname/programs/jdk/jre

我还在 java>monitor>tools 首选项页面中将 jdk 根目录设置为 /home/myname/programs/jdk/,但仍然没有运气。

我已经卸载了 jvmmonitor 并完全重新安装了它,但没有任何变化。

我正在使用 jdk 7 和 jvmonitor 3.8 运行 eclipse indigo

这让我现在发疯了,任何想法都会受到欢迎

提前致谢

4

4 回答 4

2

You have to change the .ini file of Eclipse

Just add:

-vm C:\JavaJDK\Java\jdk1.6.0_01\jre\bin\client\jvm.dll

Here is the eclipse.ini file in full:

-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-product
org.eclipse.epp.package.jee.product
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vm
C:\JavaJDK\Java\jdk1.6.0_01\jre\bin\client\jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
于 2014-07-29T13:36:42.547 回答
2

经过数小时的摆弄,我找到了解决方案。我现在改用 VisualJVM,但它们通过连接到本地套接字并设置 JMX 连接以相同的方式运行。

首先,jvmmonitor/visualjm 和你的 java 应用程序必须在同一个用户下运行。

用户必须对 linux /tmp/ 上的 tmp 目录具有写入权限。

当启动任何 java 应用程序时,将在 tmp 的 hsperfdata_myusername 文件夹中创建一个带有 java 程序进程 PID 的本地文件,java 分析软件使用该文件夹连接到运行 java 程序的 jvm。

如果您从终端启动 java 程序并且终端的当前目录不是您的主目录,例如。从 MYNAME:/home/myname/project/myjavaapp$ 启动,您可能会发现您可以连接到 jvm,但无法对其进行采样或分析。将当前目录设为主目录应该可以解决这个问题。

于 2012-06-21T23:06:53.923 回答
1

JVisualVM Troubleshooting Guide中的这个解决方案对jvmonitor也有帮助:

本地应用无法监控

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

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

于 2015-05-19T13:35:56.920 回答
0

您是否检查了此JVMMonitor 的常见问题解答中的指令?

如果问题仍然存在,请以管理员身份运行 Eclipse,至少在安装 JVM Monitor 插件后运行一次。

这为我解决了这个问题。

于 2018-08-06T11:01:01.990 回答