为什么在机器上运行多个java应用程序时也没有JMX冲突?
内存分析器(检测和监视工具),比如VisualVM和jProfiler,通过JMX扩展连接到Java应用程序的JVM(尽管可能有其他连接方式,比如jstatd等,我已经看到JMX非常常见) 我对JMX的理解:为什么在机器上运行多个java应用程序时也没有JMX冲突?,java,jvm,jmx,visualvm,jprofiler,Java,Jvm,Jmx,Visualvm,Jprofiler,内存分析器(检测和监视工具),比如VisualVM和jProfiler,通过JMX扩展连接到Java应用程序的JVM(尽管可能有其他连接方式,比如jstatd等,我已经看到JMX非常常见) 我对JMX的理解: 默认情况下,JMX必须公开其默认端口(不确定是否有默认端口号),以便内存分析器可以连接。因此,我假设在同一台机器上,当多个java应用程序使用默认JMX配置运行时,一定存在JMX端口冲突 但我从未注意到这一点。我已经看到java应用程序在默认配置下运行得很好,而Mem分析器可以同时愉快地连
默认情况下,JMX必须公开其默认端口(不确定是否有默认端口号),以便内存分析器可以连接。因此,我假设在同一台机器上,当多个java应用程序使用默认JMX配置运行时,一定存在JMX端口冲突
但我从未注意到这一点。我已经看到java应用程序在默认配置下运行得很好,而Mem分析器可以同时愉快地连接到这些java应用程序中的每一个。因此,我对JMX端口的理解并不完全正确。有人会说,多个java应用程序如何能够在同一台机器上同时使用默认配置公开JMX功能。(???是JMX为每个java应用程序使用的随机端口???)像VisualVM这样的工具将JMX与一起用于监视本地java虚拟机
显然,不同的本地JVM会在不同的端口上启动管理服务器,但VisualVM会通过动态连接发现端口号。您好,Joveny,欢迎光临。我想你应该读这篇文章。您可以使用标志定义imx端口。