1

我正在使用 VisualVm 在 Web 应用程序中进行一些分析,但在 Sampler 选项卡中禁用了内存按钮。

我正在使用 Windows 8、Tomcat 7、VisualVM 1.7.0_09(内部版本 120605)和 JDK 1.6.0_11

我已经尝试了一些(以当前用户身份运行 tomcat 服务,将 catalina 的温度设置为与 visualvm 相同)的解决方法,但似乎没有一个工作,我在某处读到 vista 之后这似乎不起作用。

我可以对这种情况进行内存分析吗?

4

1 回答 1

1

在完全相同的情况下帮助我的是在我的本地 Tomcat 上使用相同版本的 Java JDK 和 Java JRE。原来我的 Tomcat 使用的是 JDK 1.6.0_45 和 JRE 1.6.0_20。

要检查系统上的 JRE 版本,请打开控制台并编写“java -version”
要检查系统上的 JDK 版本,请打开控制台并编写“javac -version”

创建两个指向 JDK 和 JRE 位置的系统变量,例如:路径为“C:\Program Files\Java\jdk1.6.0_45”的
JAVA_HOME 变量 路径为“C:\Program Files\Java\jre6”
的 JRE_HOME 变量

编辑“路径”系统变量并将此字符串添加到其值的末尾:“%JAVA_HOME%/bin;%JRE_HOME%/bin”

重新登录您的系统,您的系统变量现在将起作用。

Tomcat 将自动使用这些系统变量,如 catalina.bat 的注释部分所述:

JAVA_HOME       Must point at your Java Development Kit installation.
                Required to run the with the "debug" argument.

JRE_HOME        Must point at your Java Runtime installation.
                Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME
                are both set, JRE_HOME is used.

转到您的文件夹 tomcat\bin 并运行“catalina.bat”文件以检查您的 JRE_HOME 变量是否设置正确。

提示:如果您在 Tomcat 的 bin 文件夹中有“setenv.bat”文件,请确保其中没有类似“set "JRE_HOME=..."”的内容,因为它会覆盖您的系统变量而您不会想要那个。

全部设置完毕后,转到 VisualVM -> 双击您的 Tomcat 实例 -> 概览 -> 系统属性 -> 将其复制到某个文本编辑器并搜索“jdk”和“jre”字样。它们旁边的版本现在应该匹配。

内存分析现在应该可用。

于 2013-08-08T12:24:59.003 回答