1、假设您有一个 Java 应用程序 myapp.jar
,您可以使用以下命令启动它,并启用 JMX 远程管理:
java -Dcom.sun.management.jmxremote \-Dcom.sun.management.jmxremote.port=8888 \-Dcom.sun.management.jmxremote.rmi.port=8080 \-Dcom.sun.management.jmxremote.authenticate=false \-Dcom.sun.management.jmxremote.ssl=false \-Djava.rmi.server.hostname=your_server_ip \-jar myapp.jar
1. -Dcom.sun.management.jmxremote
-
含义: 启用 JMX 远程管理功能。
-
作用: 允许远程客户端通过 JMX 连接到 Java 应用程序。
2. -Dcom.sun.management.jmxremote.port=8888
-
含义: 指定 JMX 连接的端口号。
-
作用: 远程客户端将通过此端口连接到 JMX 服务。
3. -Dcom.sun.management.jmxremote.rmi.port=8080
-
含义: 指定 RMI(Remote Method Invocation)注册表的端口号。
-
作用: 远程客户端将通过此端口连接到 RMI 注册表,获取 JMX 服务的引用。
4. -Dcom.sun.management.jmxremote.authenticate=false
-
含义: 禁用 JMX 连接的认证。
-
作用: 允许任何客户端连接到 JMX 服务,无需认证。仅用于测试环境,生产环境中应启用认证。
5. -Dcom.sun.management.jmxremote.ssl=false
-
含义: 禁用 JMX 连接的 SSL(Secure Sockets Layer)加密。
-
作用: 允许客户端通过非加密的连接连接到 JMX 服务。仅用于测试环境,生产环境中应启用 SSL。
6. -Djava.rmi.server.hostname=your_server_ip
-
含义: 指定 RMI 服务器的主机名或 IP 地址。
-
作用: 确保 RMI 注册表和 JMX 服务绑定到指定的主机名或 IP 地址,避免使用默认的主机名或 IP 地址。
2、使用jconsole远程连接jvm
连接成功后就可以查看连接池信息了