JVM监控和诊断的工具(JProfiler)
1、特点
使用方便,操作页面友好
2、主要功能
2.1、方法调用
2.2、内存分配
2.3、线程和锁
2.4、高级子系统
3、下载安装
4、数据采集模式
4.1、样本采集(Sampling)
优点:对CPU的开销非常低,对应用影响小
缺点:一些数据不能提供
4.2、重构模式(Instrumentation)
同上反之
重点:实时内存,CPU,线程
根据标记当前,看那个JAVA对象频繁创建,就有可能存在内存溢出:死循环,循环次数过多
存在大的对象:读取文件时,byte[]应该 边读边写,如果长时间不写出的话,导致byte[]过大
如果存在内存泄露问题开启记录的对象功能,但是会影响系统性能。可更改抽样设置
堆遍历器
查看类的图表
CPU
方法执行时间越长,占用CPU率就越高,通过查看时间分析
查看方法调用的次数
查看线程
线程主要三点:
1、web容器的线程最大数,比如:Tomcat的线程容量应该略大于最大并发数
2、线程阻塞
3、线程死锁
查看死锁