JVM(Java虚拟机):相当于电脑安装的系统,用来运行Java应用程序

性能测试---JVM监控之JVisualVM

JVM跟Tomcat的关系:

1.一个Tomcat是一个Java进程,其中有很多线程

2.一个Tomcat启动一个JVM,其中可以有很多APP

3.一个Tomcat中部署的多个APP,虽然同处于一个JVM里面,但是由于是无法相互调用的,可以看做是分布式的

JVM关键参数:

堆(Heap):存储的单位,所有线程共享,负责存储对象信息

栈(stack):运行的单位,线程独享,存储跟线程对应的局部变量、程序运行状态,方法返回值等,栈的大小通过-Xss来设置

 

JVM性能监控工具:JVisualVM

1.JvisualVM工具位置:java/jdk/bin/JvisualVM.exe

性能测试---JVM监控之JVisualVM

2.添加远程主机,添加远程主机的ip地址

3.两种连接方式,JMX和Jstatd,一般是结合使用

 

使用jmx连接方式,监控JVM

1.缺陷:没有GC监控功能

2.修改Tomcat的/usr/local/apache/Tomcat/bin/cataina.sh文件中主机的IP地址和端口号(Tomcat的位置是自定义的)性能测试---JVM监控之JVisualVM

3.在Tomcat/lib/ 添加catalina-jmx-remote.jar

性能测试---JVM监控之JVisualVM

4.防火墙开启监控端口

(1)systemctl start firewalld
(2)firewall-cmd --add-port=10001/tcp --permanent   #永久添加 10001 端口-jmx连接
(3)firewall-cmd --add-port=10002/tcp --permanent   #永久添加 10002 端口-jmx连接
(4)firewall-cmd --add-port=10003/tcp --permanent   #永久添加 10003 端口-jstatd连接
(5)firewall-cmd --add-port=1099/tcp --permanent     #永久添加 1099 端口-jstatd连接
(6)systemctl stop firewalld
   性能测试---JVM监控之JVisualVM
 
5.启动Tomcat:
./startup.sh
 性能测试---JVM监控之JVisualVM
 
6.添加jmx连接,验证监控是否正常 

性能测试---JVM监控之JVisualVM

性能测试---JVM监控之JVisualVM

7.jvisualvm通过jmx连接远程监控JVM进程性能测试---JVM监控之JVisualVM

 

 

 

 

 

 

 

相关文章: