VisualVM 不会连接到远程,挂在 Preferences > Network

问题描述

VisualVM 连接到本地 karaf 实例没有任何问题,但不会进行远程连接。我团队中的其他人使用此远程连接。

当我转到 VisualVM > 首选项 ... > 网络时,VisualVM 也会挂起

这让我相信这可能是某种许可/防火墙问题。 我使用的是 OSX 11.4 Big Sur,VisualVM 是 2.0.7 版。

位于 /private/var/log/appfirewall.log 的防火墙日志是空的,因为显然 it only logs user-defined rules.

我不知道 VisualVM 有没有日志,还没有找到。

解决方法

结果连接失败,因为在远程 url 中很难发现拼写错误。 当我修正错字时,连接可用。 使用 jdk 标配的 jconsole 发现了这一点,并且在连接 url 错误时确实会出现错误。

tl;dr 在尝试使用 VisualVM 进行故障排除之前尝试使用其他工具。

关于使用 VisualVM 进行故障排除:

  1. VisualVM 在 VisualVM 上挂起 > 首选项 ... > 网络不管。

  2. 连接问题未显示在日志中。

VirtualVM 的日志记录是通过设置 /Applications/VisualVM.app/Contents/Resources/visualvm/etc/visualvm.conf 文件的日志属性来启用的。 为此,您可以将 J-Djava.util.logging.config.file=<log.properties> 添加到 visualvm_default_options 中的列表中。

在您的 log.properties 文件中,您可以像往常一样定义日志文件和日志级别:

handlers = java.util.logging.FileHandler
java.util.logging.FileHandler.pattern   = ~/visualvm.log
java.util.logging.FileHandler.level   = INFO