VisualVM - Windows 8中的内存采样 - Tomcat 7作为服务

时间:2013-07-02 15:32:14

标签: java tomcat7 visualvm jvisualvm

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

我使用的是Windows 8,Tomcat 7,VisualVM 1.7.0_09(内部版本120605)和JDK 1.6.0_11

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

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

1 个答案:

答案 0 :(得分: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位置的两个系统变量,例如:
JAVA_HOME变量,路径为“C:\ Program Files \ Java \ jdk1.6.0_45”
JRE_HOME变量,路径为“C:\ Program Files \ Java \ jre6”

编辑“Path”系统变量并将此字符串添加到其值的末尾:“%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”字样。它们旁边的版本现在应该匹配。

现在应该可以使用内存分析。