VisualVM - 无法进行堆转储

时间:2017-05-30 18:42:50

标签: java visualvm

当我单击VisualVM 1.3.8中的堆转储按钮时,出现以下错误:

  

无法对用户@ localhost:9090进行堆转储

我错过了某处的设置吗?

编辑#1

环境是:

  • RHEL6
  • Tomcat 7.0.68
  • Java 1.7.0_45

选项包括:

export CATALINA_OPTS="-Dcom.sun.management.jmxremote=true\
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=true \
-Djava.rmi.server.hostname=x.x.x.x \
-Dcom.sun.management.jmxremote.password.file=/file_to_pwd \
-Dcom.sun.management.jmxremote.access.file=/file_to_access \
-Xms1256m \
-Xmx1256m \
-XX:PermSize=768m \
-XX:MaxPermSize=768m \
-XX:+CMSClassUnloadingEnabled \
-Dfile.encoding=UTF-8 \
-XX:+CMSClassUnloadingEnabled \
-XX:+UseConcMarkSweepGC \
-server"

编辑#2

这是JMX的监听器。

<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="9090" rmiServerPortPlatform="9091" />

1 个答案:

答案 0 :(得分:5)

这就是我最终做的事情。我们在服务器上也有JDK 1.8。

cd /path/to/java/jdk1.8.0_65/
./jmap -dump:format=b,file=/path/to/dump/tomcat_dump.bin PID

使用/path/to/dump/tomcat_dump.bin打开VisualVM(我必须使用Filezilla将其带到我的工作站)。