visualvm通过jmx远程连接tomcat

阅读更多
最近项目中遇到内存溢出的问题,在测试环境重现后,用visualvm远程连接监控了下,内存溢出的问题之后再记录一篇博客进行详细分析,这里只记录下用visualvm远程连接tomcat
我是用jmx进行的远程连接,还有另外的方式,这里就不一一记录了,话不多说,开始
  • cd到服务器上的
    引用
    JAVA_HOME/jre/lib/management
    下面,这里多说一句,如果不知道服务器上面的JAVA_HOME,可以通过
    引用
    echo $JAVA_HOME
    或者
    引用
    whereis java
    来找到jdk的安装目录
  • 引用
    chmod 600 jmxremote.password.template
    引用
    management.properties
  • 将目录下面
    引用
    jmxremote.password.template
    重命名成
    引用
    jmxremote.password
    ,将其内容中的monitorRole  QED这句的注释去掉
  • 修改management.properties的
    引用
    com.sun.management.jmxremote.port=(改成你想要的JMX端口号) com.sun.management.jmxremote.ssl=false,com.sun.management.jmxremote.authenticate=false
    注释打开
  • 找到tomcat的启动文件
    引用
    catalina.sh
    ,找到JAVA_OPTS这一项,在后面添加
    引用
    -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=(之前manage.properties的JMX端口) -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=(服务器的IP)

修改就算完成了,这个时候把tomcat启动,然后用netstat -na | grep (jmx端口)可以看到jmx是启动成功了

之后打开visualvm的远程,添加远程主机,把服务器IP添加后,就可以检测到tomcat的进程进行监控了

你可能感兴趣的:(tomcat,java)