visualvm - 自动(JMX)连接到应用程序?

Posted

技术标签:

【中文标题】visualvm - 自动(JMX)连接到应用程序?【英文标题】:jvisualvm - automatically (JMX) reconnect to application? 【发布时间】:2011-01-13 10:13:02 【问题描述】:

有没有办法在 jvisualvm 中重新连接断开的 JMX 连接?当监控的启用 JMX 的应用程序重新启动时,我必须重新启动 jvisualvm 才能重新连接它。我错过了什么吗?

这是我的 jvisualvm 详细信息:

版本:1.6.0_22(内部版本 100326);平台 091221-4fc006d17cb1 系统:Linux(2.6.35-23-generic),amd64 64bit Java:1.6.0_22;爪哇 HotSpot(TM) 64 位服务器虚拟机(17.1-b03,混合模式)

【问题讨论】:

我同意,一旦您配置并运行 JMX 远程监控,VisualVM 就非常非常有用。大多数人使用 VisualVM 而不是商业工具,上次我也检查了统计数据。 【参考方案1】:

该功能有 JIRA: https://java.net/jira/browse/VISUALVM-120

【讨论】:

正如我更新我的答案所说,这看起来像是 GitHub 问题中最接近的模拟 - github.com/oracle/visualvm/issues/45 根据那个问题,它似乎是在 VisualVM 2.0 中实现的【参考方案2】:

至少在当前版本(1.8.0_45 (Build 1380-140910))中,如果您选中“添加 JMX 连接...”对话框中的“保存安全凭据”复选框,它会尝试重新连接到远程服务器 接下来开始visualvm。因此,如果您断开连接,您可以退出 visualvm 并重新启动它以重新连接。我知道这不是你所要求的,但至少它有效。您希望的功能在首次请求后 10 多年仍未实现,这一事实令人非常难过。我的猜测是他们试图让人们购买Mission Control。

java.net 上的原始问题不再存在,而是 this appears to be the equivalent on GitHub。如果您关心它的完成/修复,请给它竖起大拇指。

【讨论】:

迄今为止最好的解决方案,真的很遗憾在这样的日志时间段内没有实施:/ @isaias-b 是的......现在距离请求该功能已有 8 年多了。 :( 我不介意每当我启动 VisualVM 时会出现一个丑陋的飞溅,上面写着:“你疯了什么?使用任务控制!” @JonathanNeufeld 哈哈 :)【参考方案3】:

我不知道有没有办法做到这一点。作为一种解决方法,您可以创建一个监视 JMX 端口的 DOS 批处理文件(或 Linux 上的 bash 脚本),如果该端口消失,它可以杀死 jvisualvm 并重新启动它。

【讨论】:

是的,可以这样做,但这是非常丑陋的方法。这不是我要找的。​​span>

以上是关于visualvm - 自动(JMX)连接到应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

VisualVM 无​​法分析;连接和其他选项卡工作,但采样器选项卡给出:“无法创建 JMX 连接”

Java Mission Control - 访问被拒绝连接到远程

利用VisualVm和JMX远程监控Java进程

如何使用 JMX 连接到 localhost jvm 上的 java 程序?

jmx 无法连接到本地主机

如何通过 JMX 连接到远程 Docker 容器