JProfiler主要功能:
内存剖析 Memory profiler 显示所有对象数量和占用内存
堆遍历 Heap walker 显示堆中所有类和它们的实例
CPU 剖析 CPU profiler
线程剖析 Thread profiler 线程历史 Thread history /线程监控 Thread monitor /死锁探测图表 Deadlock Detection /显示重大的等待事件和阻塞事件的历史记录
VM 遥感勘测技术 VM telemetry 观察JVM的内部状态,显示一个堆的使用状况和堆尺寸大小活动时间表。显示一张关于垃圾回收活动的活动时间表。
实例:关联tomcat并运行,(JProfiler根据关联的tomcat的start.sh脚本启动)通过不同的视图查看相应的状态:内存剖析 Memory profiler,查看显示所有对象数量和占用内存。 可以通过对Memory中相关类做标记,之后对象的变化会通过不同颜色显示,明显看出哪些对象增加有异常。通过主动或被动GC后,如果有对象没有明显回收,说明有内存泄露。选中有异常的类,获取其堆快照Take Heap Snapshot for Selection,观察它的heap,可以找出产生这些对象的调用树或者请求来源url及其占用比,从而定位这些对象从哪儿产生的。
************ http://blog.csdn.net/djy1135/article/details/2304465
************ http://blog.csdn.net/chendc201/article/details/22897999
http://blog.csdn.net/u013613428/article/details/53926825
利用JProfile优化服务:
使用jprofile连接上线上tomcat,先找cpu最耗时间的方法;CallTree
发现占cpu最多的方法