四、 JProfiler
4.1简介
JProfiler是一个商业授权的Java剖析工具,由EJ技术有限公司,针对的Java EE和Java SE应用程序开发的。
它把CPU、执行绪和内存的剖析组合在一个强大的应用中。JProfiler可提供许多IDE整合和应用服务器整合用途。
JProfiler的是一个独立的应用程序,但其提供Eclipse和IntelliJ等IDE的插件。它允许两个内存剖面评估内存使用情况和动态分配泄漏和CPU剖析,以评估线程冲突。
4.2JProfiler安装
1、安装环境
sun jdk1.7.0
jprofiler_windows_8_0_7.exe
2、安装步骤
a)JDK安装略。
b)JProfiler安装
一路next到Enter license key界面:
key:L-Larry_Lau@163.com#78484-akisfpr22a5j#268
在一直next到finish。
4.3基本操作
1、配置监控tomcat web项目(首次配置)
打开JProfiler->session->Start Center
剩下的三步都默认 一路next下去完成。
2、启动
3、开始测试
a)在IE地址栏中输入:http://localhost:8080/zsnews/index.jsp,执行一次,我们可以在内存视图中看到自己创建的对象被创建的次数:
b)标记现在的状态,标记状态可以让我们找到哪些类在调用后没有被释放(很重要!!!)
c)然后再使用JMeter执行在在第三章中的脚本。
红色的变成是发生变化的对象及其数量。
d)过一会后,按F4键进行垃圾回收。但回收完成后,这些对象依然存在,说明某些地方对这个类的引用没有被释放
e)找出是哪些地方使用了TestBean类,并且没有释放它们。
在cn.test.TestBean对象上点击右键选择“Take Heap Snapshot for Selection”,观察它的heap:
下一步:
选择OK。
在该类中点击右键,在出现的菜单中选择“Use Selected Objects”:
出现如下窗口:
选择“Allocations”,点击“OK”,然后我们要的结果就出来了:
图中显示调用此类的地方是init1.jsp和init2.jsp,并且各自占用的比率都列出来了。
4.4参考资料
1、下载
http://www.ej-technologies.com/download/jprofiler/files
2、学习笔记
http://blog.youkuaiyun.com/djy1135/article/details/2304465
3、安装图解
http://blog.youkuaiyun.com/java2000_wl/article/details/7012998