我正在使用VisualVm在Web应用程序中进行一些分析,但在Sampler选项卡中禁用了内存按钮。
我使用的是Windows 8,Tomcat 7,VisualVM 1.7.0_09(内部版本120605)和JDK 1.6.0_11
我已经尝试了一些(运行tomcat服务作为当前用户,将catalina的temp设置为与visualvm相同)的解决方法但是似乎没有工作,我读到某个地方,在vista之后这似乎无法工作。
我可以使用这种情况进行内存分析吗?
答案 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”字样。它们旁边的版本现在应该匹配。
现在应该可以使用内存分析。