jvisualvm简介
jvisualvm该工具位于jdk的bin目录下,是jdk自带的可用于监控线程、内存情况、查看方法的CPU时间和内存中的对 象、已被GC的对象、反向查看分配的堆栈等,即:Java虚拟机监控、故障排查及性能分析工具。
远程监控方法
以windows端打开jviualvm工具为例子:
点击【添加远程主机】:
设定主机名称(IP),确定之后该远程主机加入到【远程】列表下:
右键单机该主机,在右键菜单选择【添加JMX连接】:
这个连接的时候有个端口号 ,可千万别写tomcat启动时候使用的端口号,不然就会像这样:
连接不了。
因此 的设定远程jmx连接之前,我们需要的服务器上设定tomcat(我使用的tomcat,其他的java进程启动工具 也可以考虑类似的做法)。
被监视的服务器设定
服务器上tomcat需要做的配置如下:
以linux上tomcat为例 在catalina.sh中添加如下内容:
JAVA_OPTS="$JAVA_OPTS -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Djava.rmi.server.hostname=192.168.0.164 -Dcom.sun.management.jmxremote.port=18999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
注意中间是一个空格,不能出现多个空格,或者tab 否则启动就会报错,直接就找不到了,如下图所示:
这个 Djava.rmi.server.hostname 是服务器的hostname信息,如果设置错误也会连接不上。
服务器上hostname可以通过 hostname -i 命令查询。
设定好之后,再通过jvisualvm工具连接就可以了,双击进程号,就可以进行监视情况了: