jprofile 主要功能:
- 方法调用:对方法调用的分析可以帮助您了解应用程序正在做什么,并找到提高其性能的方法
- 内存分配:通过分析堆上的对象,引用链和垃圾收集能帮您修复内存泄露问题,优化内存使用
- 线程和锁:jprofiler 提供多种针对线程和锁的分析视图帮助你发现多线程问题
- 高级子系统:许多性能问题都发生在更高的语义级别上,例如 对于JDBC调用,您可能希望找出执行最慢的sql语句,还支持对这些子系统集成分析
- 上面第一个 保存session也就是连接信息,
- 上面第二个 连接到本地启动的java服务,或者远程的java服务
- 上面第三个 与第二个类似
- 上面第四个 打开一个离线的堆快照
数据采集方式:
- instrumentation 重构模式
- sampling 抽样模式
遥感监测视图中相关监测数据:堆内存 gc
内存视图分析
- 分析 内存中对象的情况
- 频繁创建的对象: eg 死循环,循环次数过多
- 存在大的对象: eg 读取文件时,byte[] 应该边读边写
- 内存卸扣问题: gc后剩余堆空间单调递增的,开始recorded Objects 分析内存泄露问题
heap walker 分析
CPU 视图 分析
线程 视图 分析
- 线程分析主要关心三个方面
- web容器的最大线程数 比如 tomcat的线程容量略大于最大并发数
- 线程阻塞
- 线程死锁