psz*_*mus 6 java jmx visualvm windows-subsystem-for-linux wsl-2
我正在使用以下参数运行 Java 应用程序,以启用 JMX 服务器的远程连接:
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=9998
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
Run Code Online (Sandbox Code Playgroud)
我可以通过 VisualVM 成功连接到该 JMX 服务器,方法是将新的 JMX 连接添加到地址:<HOSTNAME>:9998
但是当我在 Windows Subsystem for Linux 2 (WSL2) 中运行该应用程序时,Visual VM 无法连接到localhost:9998:
连接失败
据我所知,应用程序在 WSL2 中侦听的每个端口也在主机(Windows 本身)中打开,我可以使用Win+R -> cmd -> telnet localhost 9998(连接成功)进行检查。另外,我正在 WSL2 中运行一个 nginx 实例,我可以使用localhost.
我无法使用上述任何建议让 Windows jconsole 连接到在 WSL2 中运行的 JVM,但是现在可以使用Windows 11 的 Linux GUI 支持在 WSL2 中运行 Linux jconsole 。工作完美。
小智 0
这似乎是 Java 的普遍问题。
https://github.com/microsoft/WSL/discussions/6253
对我有用的解决方法是使用 JMX 服务器在 WSL2 中监听“0.0.0.0”而不是“127.0.0.1”。
| 归档时间: |
|
| 查看次数: |
3585 次 |
| 最近记录: |