使用VisualVM

时间:2018-02-09 14:07:20

标签: java spring-boot jmx visualvm

我需要使用VisualVM监视堆启动远程应用程序的堆分配和使用情况。我无法更改代码,但我已在本地看到它,因此源代码中的配置必须正确。我需要能够公开JMX端口。目前,我在应用程序的配置中有这个

RUN_ARGS="--spring.profiles.active=dev -Dcom.sun.management.jmxremote 
  -Dcom.sun.management.jmxremote.port=<PORT>
  -Dcom.sun.management.jmxremote.authenticate=false 
  -Dcom.sun.management.jmxremote.ssl=false 
  -Dcom.sun.management.jmxremote.rmi.port=<PORT> 
  -Djava.server.hostname=<IP>"

其中<PORT>的两个实例都相同,并且仅为了读取目的而添加缩进,在文件本身中不存在。 在VisualVM中,我尝试创建一个Remote并向其添加JMX连接。我尝试了两种语法<hostname>:<port>service:jmx:<protocol>:<sap>,但似乎都没有。

编辑:我在Spring Boot配置文件中使用的RUN_ARGS变量中执行此操作。我不知道它是否需要在另一个变量中,例如JAVA_OPTS

编辑2:检查netstat,我发现端口就像LISTEN那样......现在我无法从我的机器连接。我正在使用此https://theholyjava.wordpress.com/2012/09/21/visualvm-monitoring-remote-jvm-over-ssh-jmx-or-not/

编辑3:我发现我可以telnet到端口,但VisualVM仍然拒绝它...

0 个答案:

没有答案