Java VisualVM对tomcat性能监控

  • 从官网下载Tomcat对应版本的catalina-jmx-remote.jar(这个使用Tomcat 7.0.81版本)

Tomcat下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.81/bin/apache-tomcat-7.0.81.tar.gz

JMX下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.81/bin/extras/catalina-jmx-remote.jar

catalina-jmx-remote.jar包下载完成后放到Tomcat的lib目录下

[[email protected] lib]# pwd
/usr/local/tomcat/lib
[[email protected] lib]# wget
  • 在bin/catalina.sh添加如下内容(Windows环境catalina.bat文件)
[[email protected] lib]# cd /usr/local/tomcat/bin/
[[email protected] bin]# vim catalina.sh
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote
  -Dcom.sun.management.jmxremote.port=7090
  -Dcom.sun.management.jmxremote.ssl=false    
  -Djava.rmi.server.hostname=192.168.100.1   
  -Dcom.sun.management.jmxremote.authenticate=true
  -Dcom.sun.management.jmxremote.password.file=/usr/local/softinstall/tomcat/conf/jmxremote.password 
  -Dcom.sun.management.jmxremote.access.file=/usr/local/softinstall/tomcat/conf/jmxremote.access"
  • 编辑访问授权文件
[[email protected] lib]# cd /usr/local/tomcat/conf/
[[email protected] conf]# vim jmxremote.access
[[email protected] conf]# cat jmxremote.access
monitorRole readonly
controlRole readwrite
  • 编辑密码文件
[[email protected] conf]# vim jmxremote.password 
[[email protected] conf]# cat jmxremote.password
monitorRole tomcat
controlRole tomcat

注意:密码文件应该是只读的,只能由Tomcat运行用户。

更改密码文件权限,否则汇报如下错误:

Error: Password file read access must be restricted: /usr/local/tomcat/conf/jmxremote.password

[[email protected] conf]# chmod 0400 jmxremote.password
[[email protected] conf]# ll jmxremote.password 
-r-------- 1 root root 36 Aug 25 15:47 jmxremote.password
  • 启动Tomcat
[[email protected] conf]# ../bin/startup.sh 
Using CATALINA_BASE:   /usr/local/softinstall/tomcat
Using CATALINA_HOME:   /usr/local/softinstall/tomcat
Using CATALINA_TMPDIR: /usr/local/softinstall/tomcat/temp
Using JRE_HOME:        /usr/local/softinstall/jdk1.7.0_79
Using CLASSPATH:       /usr/local/softinstall/tomcat/bin/bootstrap.jar:/usr/local/softinstall/tomcat/bin/tomcat-juli.jar
Tomcat started.
[[email protected] conf]# netstat -nlput | grep java
tcp        0      0 :::7090                     :::*                        LISTEN      7329/java                     
tcp        0      0 ::ffff:127.0.0.1:7005       :::*                        LISTEN      7329/java                    
tcp        0      0 :::7080                     :::*                        LISTEN      7329/java

[[email protected] conf]# curl -I localhost:7080
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=ISO-8859-1
Transfer-Encoding: chunked
Date: Fri, 25 Aug 2017 08:58:54 GMT

Tomcat启动成功、JMX7090端口启动成功

  • 在一台windows服务器上部署Java环境

在Jdk的安装目录bin目录下找到jvisualvm.exe (另一个工具为jconsole.exe也在bin目录下,这里使用jvisualvm工具)

C:\Program Files\Java\jdk1.8.0_131\bin

双击运行jvisualvm.exe

点击——远程——添加远程主机——在弹出的窗口中填写要远程主机的名——点击确定

应用程序——远程——选择之间添加的主机——右击——添加jmx连接——在弹出的窗口中填写连接信息——确定

连接成功

时间: 2024-10-07 05:29:46

Java VisualVM对tomcat性能监控的相关文章

Java生产环境下性能监控与调优详解

第1章 课程介绍(Java秒杀课程老师倾力打造)本章为大家介绍生产环境可能存在的问题和常用的性能监控工具,以及课程能学到什么,课程内容如何安排等,让大家对课程有个全貌的认识,从而更好的学习这门课程.1-1 为什么学习这门课程? 第2章 基于JDK命令行工具的监控本章带大家学习JDK的命令行监控工具的使用,包括jps.jinfo.jstat.jmap.jstack, 并结合MAT实战如何定位内存溢出,实战如何定位死循环和死锁.2-1 JVM的参数类型2-2 查看JVM运行时参数2-3 jstat查

《深入理解Java虚拟机》虚拟机性能监控与故障处理工具

上节学习回顾 从课本章节划分,<垃圾收集器>和<内存分配策略>这两篇随笔同属一章节,主要是从理论+实验的手段来讲解JVM的内存处理机制.好让我们对JVM运行机制有一个良好的概念,才能继续往下学习. 本节学习重点 本节主要是针对JVM内存管理机制的一些监控手段,例如堆情况使用的监控,线程栈情况的监控等.有几句废话还是有必要在这里强调的,工具是人类思维的工具,例如Java语言是人类满足需求的一种技术手段,而监控工具只是维护程序应用的一种手段.所以,思考的逻辑思维要清晰,是问题引导工具,

Tomcat 性能监控及调优

1.性能监控 方式1: /usr/local/tomcat7/conf/tomcat-users.xml 添加如下: <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> &l

Tomcat性能监控

Tomcat性能监控工具很多,这里介绍两种1.JMeter 2.probe,使用这两种工具都需要在tomcat的安装目录/conf/tomcat-users.xml添加 <tomcat-users> <!-- 用户角色 --> <role rolename="manager"/> <!-- 用户账号 --> <user username="admin" password="admin" rol

Tomcat性能监控与调优

tomcat远程debug Tomcat是目前被应用得最多的一款Java Web服务器,很多人都会使用Tomcat来作为项目的服务器.也经常需要在开发的时候对Tomcat进行debug.在本地对Tomcat进行debug相信很多人都会,但如果需要对远程的Tomcat进行debug,相信有部分小伙伴还是没接触过的,而本小节将简单介绍一下如何对Tomcat进行远程debug. Tomcat远程debug是基于 JDWP 协议实现的,关于 JDWP 协议,可参考以下文档: https://www.ib

Tomcat性能监控之Probe

目前采用java进行开发的系统居多,这些系统运行在java容器中,通过对容器的监控可以了解到java进程的运行状况,分析java程序问题.目前市面上流行的中间件有很多(Tomcat.jetty.jboss.weblogic.websphere等),基本原理相似,都遵循Servlet规范.对容器的监控,实际上就是对JVM的监控,下面介绍一个Tomcat的监控工具Probe,Probe只需要一个war包就可以完成监控任务. 类别 计数器 描述 Tomcat jvm内存 关注GC回收频率,Full G

jvm性能监控与GC调优

目录 一 提出问题 二 基于JDK命令行工具的监控 1. JVM的三种参数类型 1.1 标准参数 1.2 X 参数 1.3 XX 参数 1.4 常用命令 2. jstat查看虚拟机统计信息 2.1 类加载信息 2.2 垃圾回收信息 2.3 JIT编译信息 3. jmap + MAT分析内存溢出 [实战] 3.1 模拟内存溢出 3.2 导出内存影像文件 3.3 使用MAT分析dump文件 4. jstack分析死循环与死锁 [实战] 三 基于JVisualVM的可视化监控 四 基于Btrace的监

服务性能监控指标

Apache性能监控支持以下指标: Apache吞吐率 Apache并发连接数 Apache并发连接数详细统计,包括读取请求.持久连接.发送响应内容.关闭连接.等待连接 Lighttpd性能监控支持以下指标: Lighttpd吞吐率 Lighttpd并发连接数 Lighttpd并发连接数详细统计,包括建立连接.读取请求.读取POST数据.处理请求.发送响应内容.关闭连接 Nginx性能监控支持以下指标: Nginx吞吐率 Nginx并发连接数 Nginx并发连接数详细统计,包括读取请求.处理请求

使用Java VisualVM远程监控Tomcat

1. Tomcat环境变量指定的好习惯 安装完Tomcat之后,配置CATALINA_HOME和CATALINA_BASE环境变量,如果需要指定环境变量或者JVM参数值,根据catalina.sh文件中的注释说明单独在setenv.sh或者setenv.bat文件中指定,这样catalina.sh在执行的时候会自动读取. 2. 配置启用Tomcat JMX Remote Java Visual VM远程监控Tomcat,配置参见: JAVA_OPTS=" -Djava.rmi.server.ho