使用Jconsole监控
Jconsole启动
直接本地启动jdk工具
本地连接
本地启动java应用直接点击就可以连接
本地远程连接
idea启动服务连接
配置运行配置
配置远程参数
-Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10000 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.rmi.port=10000
#相关 JMX 代理侦听开关
-Dcom.sun.management.jmxremote=true
#相关 JMX 代理侦听请求的端口
-Dcom.sun.management.jmxremote.port=10000
#指定是否使用 SSL 通讯
-Dcom.sun.management.jmxremote.ssl=false
#指定是否需要密码验证
-Dcom.sun.management.jmxremote.authenticate=false
#服务器端的IP
-Djava.rmi.server.hostname=127.0.0.1
#rmi端口
-Dcom.sun.management.jmxremote.rmi.port=10000
远程服务器连接
jar包启动命令,注意命令参数顺序,保证jvm参数设置在前面。
java -Xms512m -Xmx1024m -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.rmi.port=10000 -Dcom.sun.management.jmxremote.port=10000 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar xxx.jar
java -Xms512m -Xmx1024m
#相关 JMX 代理侦听开关
-Dcom.sun.management.jmxremote=true
#相关 JMX 代理侦听请求的端口
-Dcom.sun.management.jmxremote.port=10000
#指定是否使用 SSL 通讯
-Dcom.sun.management.jmxremote.ssl=false
#指定是否需要密码验证
-Dcom.sun.management.jmxremote.authenticate=false
#服务器端的IP
-Djava.rmi.server.hostname=127.0.0.1
#rmi端口
-Dcom.sun.management.jmxremote.rmi.port=10000
-jar xxx.jar
查询服务ip地址
查询ip地址
hostname -i
查询服务端口
查询端口情况
netstat -ntlp
必须保证端口已经开启,说明可以通过端口连接。
防火墙问题
关闭linux防火墙(实战中应该打开对应端口)
service iptables stop
chkconfig iptables off #永久关闭
分析jvm监控信息
堆内存可以查询到gc回收时间。
线程数据检查使用情况。
cpu使用情况。