jprofiler与tomcat整合

上传人:shaoy****1971 文档编号:114326332 上传时间:2019-11-10 格式:PPT 页数:29 大小:644.55KB
返回 下载 相关 举报
jprofiler与tomcat整合_第1页
第1页 / 共29页
jprofiler与tomcat整合_第2页
第2页 / 共29页
jprofiler与tomcat整合_第3页
第3页 / 共29页
jprofiler与tomcat整合_第4页
第4页 / 共29页
jprofiler与tomcat整合_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《jprofiler与tomcat整合》由会员分享,可在线阅读,更多相关《jprofiler与tomcat整合(29页珍藏版)》请在金锄头文库上搜索。

1、JProfiler与Tomcat整合简介,-benson,一、JProfiler 介绍,JProfiler是德国ej-technologies公司开发的一款全功能的JAVA剖析工具,主要用于检查和跟踪(仅限JAVA开发的)系统性能。 JProfiler可以通过实时监控系统的内存使用情况,通过监视垃圾回收、线程运行状况等手段,监视JVM运行情况及其性能。它把CPU、线程和内存的剖析组合在一个强大的应用中,直观的视图界面对定位性能瓶颈、确定内存泄露、解决线程问题提供了便利。,获取Jprofiler 它不是免费的软件,值得庆幸的是,它有10天试用版本,10天分析一个问题,肯定绰绰有余了。 官方下载地

2、址: (http:/www.ej- 注册后在你提交的邮箱里会有个license。 网上查到的比较常用的key是: L-Larry_Lau#78484-akisfpr22a5j#268,二、Jprofiler与Tomcat整合的安装配置过程,安装准备 下载Jprofiler6.0.3 由于客户端、服务端均是windows操作系统,都安装windows版本的jprofiler6.0.3。 客户端配置 1、按”SHIFT+F1”打开”QuickStart”对话框,选择“An application server, locally or remotely”,然后“Next”。 2、配置服务中间件类型,

3、我用的是tomcat5.5.23,所有选择” Apache Tomcat 5.x”,然后点击Next。 3、选择“On a remote computer”,再选择“Windows X86/ADM64”(默认),Next。 4、选择JVM版本,”JVM Vendor”选择”Sun”,”Version”选择“1.5.0”,“mode”默认,Next 。,5、选择启动方式,选择:wait for a connection from the jprofiler GUI, Next。 6、输入远程服务器IP地址,我这里是:Remote address 172.16.0.136,Next。 7、输入被监

4、控机器中Jprofiler安装位置(如:C:Program Filesjprofiler6),点击Next。 8、选择所集成的应用服务器启动脚本,(如:Tomcat在windows下常用的启动脚本是Startup.bat)Jprofiler会自动在相同目录下生成Jprofiler专用启动脚本(strartup_jprofiler.bat),如果脚本是远程的,必须有远程计算机的磁盘可写权限,或者将启动脚本拷贝到本地。点击Next。 9、选择远程服务器的代理监听端口,如:JProfiler port: 8849 default。 10、列出配置过程 的信息内容,阅读确认修改信息无误后,点击Next

5、。 11、完成配置,选择“No, I will start the session later”,Finish。,服务端配置 服务器端的Tomcat-bin 目录最好设置可写权限,远程客户端建立映射。 当客户端和服务器的安装配置版本均一致时,可以直接将监控器端生成的strartup_jprofiler.bat拷贝到服务器的Tomcat-bin目录下使用;若不一致,最好在服务器端配置本地session,生成自己的启动脚本strartup_jprofiler.bat。 启动分析 1、在服务器端启动strartup_jprofiler.bat,提示等待连接信息; 2、在监控端,启动之前配置好的ses

6、sion。,注:如果远程安装不成功请检查: 1、本地和被监控机是否都安装了Jprofiler,版本是否一致。 2、本地和被监控机的端口是否一致,最好都使用默认的8849. 3、所选的JVM提供商和版本是否正确,可能服务器上安装了多个JAVA版本,一定要选择应用程序启动时所用的。 4、检查远程连接是否畅通,应用目录必须可写共享,监控机器需要映射共享目录,配置完成后在本地服务器上会生产监控的启动文件。,5、检查服务器端的tomcat端口是否已经占用。 注:可以使用这些命令解决端口被占用问题: Cmd-netstat ano|findstr 8080 (查看开放的端口) Tasklist|finds

7、tr “8080”(查找指定端口的应用程序) Ntsd c q p “PID” (终止进程) 6、使用的试用版license是否过期。 Jprofiler可以与Websphere、Weblogic、JBoss等中间件整合,配置过程基本类似。,三、Jprofiler监测视图,内存剖析(Memory profiler) JProfiler 的内存视图部分可以提供动态的内存使用状况更新视图和显示关于内存分配状况信息的视图。所有的视图都有几个聚集层并且能够显示现有存在的对象和作为垃圾回收的对象。 所有对象 (All Objects) 显示所有加载的类的列表和在堆上分配的实例数.只有JAVA1.5才会显

8、示此视图。要查看特定时间段对象的分配,并记录分配的调用堆栈,使用“记录的对象视图”。 列表中显示的大小:显示所有分配实际的总大小,只包括相应的指针的大小,不包含引用数组和实例的大小。以字节显示。只包括类使用的JVM大小,也不包含类数据和本地变量大小。,记录对象 (Record objects) 显示类或所有已记录对象和数组的列表,包括堆上分配的实例数。只有已记录的对象在此视图中显示。如果选择了某个包或类,你可以从记录对象视图跳转到分配调用树和分配热点,方法是右键点击,选择要跳转的视图。 分配访问树 (Allocation call tree) 显示一棵请求树或者方法、类、包或对已选择类有带注释

9、的分配信息的J2EE组件。 分配热点( Allocation hot spots ) 分配热点视图显示所选类的对象被分配在哪儿的方法列表。分配到至少占总数1%的方法才会被显示。方法可以根据action filter sets 设置进行过滤。此视图与CPU 视图中的hot spots view视图有些类似,只是显示的是分配的类的实例数和数组而不是时间度量。,堆遍历 (Heap walker ) 堆遍历器有五个视图: 类 Classes 显示所有类和它们的实例。 分配 Allocations 为所有记录对象显示分配树和分配热点。 索引 References 为单个对象和“显示到垃圾回收根目录的路径

10、”提供索引图的显示功能。还能提供合并输入视图和输出视图的功能。 数据 Data 为单个对象显示实例和类数据。 时间 Time 显示一个对已记录对象的解决时间的柱状图。,CPU剖析(CPU profiler ) JProfiler 提供不同的方法来记录访问树以优化性能和细节。线程或者线程组以及线程状况可以被所有的视图选择。所有的视图都可以聚集到方法、类、包或J2EE组件等不同层上。CPU视图部分包括: 访问树 Call tree 显示一个积累的自顶向下的树,树中包含所有在JVM中已记录的访问队列。请求树可以根据Servlet和JSP对URL的不同需要进行拆分。 Jprofiler自动检测J2EE

11、组件并在调用树中显示相关的节点。使用不同的图标显示不同的J2EE组件类型: Servlets:黄色倒心形 JSPs:蓝色倒心形 EJBs:红色倒心形 热点 Hot spots 显示消耗时间最多的方法的列表。对每个热点都能够显示回溯树。该热点可以按照方法请求,JDBC,JMS和JNDI服务请求以及按照URL请求来进行计算。 访问图 Call graph 静态的显示所选择节点计算出线程调用图。节点可以为方法、类、包或J2EE组件。,线程剖析 Thread profiler 对线程剖析,JProfiler提供以下视图: 线程历史 Thread history 按照线程开始的顺序显示JVM中所有线程状

12、态的详细历史信息。在线程图的左边固定显示线程名,其它部分是滚动度量工具,在水平轴上显示时间。时间轴的开始时间与JVM的第一个线程的时间保持一致。每个活动的线程用带颜色的线标明,从线程开始到线程结束。 绿色:表明线程正在运行并能接收CPU时间。不表明线程正在消耗CPU时间,只表明线程准备运行并没有阻塞或睡眠。线程被分配了多少CPU时间,依赖于不同的其他因素,如:总的系统负载;线程优先级和调度的运算法则。 橙色:表示线程在等待,线程正在睡眠并等待计时器或其他线程唤醒。 红色:表示线程阻塞。线程尝试进入同步代码区或由其他线程控制的同步方法。 蓝色:表示线程在Net I/O 操作,线程在等待java库

13、的网络操作完成。在线程监听socket连接或者等待读写数据到socket中时,会产生这种状态。,线程监控 Thread monitor 显示当前运行的线程列表以及相关的时间和状态信息。 如果监控的是java 1.5或以上的版本,在屏幕的上半部分就显示上面的表,屏蔽的下半部分显示所选线程的线程创建堆栈跟踪。堆栈跟踪只有线程创建时记录CPU数据才会显示。 死锁探测图表 Deadlock Detection 显示一个包含了所有在JVM里的死锁图表。正常的状态如果没有死锁就显示 ”NO deadlocks detected”。 目前使用的监测器 Current monitor useage 显示目前使

14、用的监测器并且包括它们的关联线程。 历史检测记录 History usage history 显示重大的等待事件和阻塞事件的历史记录。 监测使用状态 Monitor usage statistics 显示分组监测,线程和监测类的统计监测数据。,VM 遥感勘测技术 VM telemetry 观察JVM的内部状态,JProfiler提供了不同的遥感勘测视图,如下所示: 堆 Heap 显示一个堆的使用状况和堆尺寸大小活动时间表。 记录的对象 Recorded objects 显示 堆上对象的总数,分为数组和非数组。可以显示线性图和区域图。 垃圾回收 Garbage collector 显示垃圾回收活

15、动,包括对象释放的一条线和对象移动的一条线。只显示已记录的对象,未记录的对象此视图不显示。 类 Classes 显示JVM调用的类的总和,分为过滤类和非过滤类。 线程 Threads 显示JVM中活着的线程总数,分为活动和不活动的线程。,使用介绍 1、视图导出 视图导出可以生成xml文件。 2、设置查看源码和字节码 查看源代码,需要在Session-General Setting-Default Java File Path下的Source Path中设定源代码路径,设定后要重启Jprofiler。 查看字节码,需要在Session-General Setting-Default Java F

16、ile Path下的Class Path中设定发布的类的路径,设定后要重启Jprofiler。 注:有些版本在建立session时有此选择项,配置完重启jprofiler仍无法查看源码,则需要集成到IDE中才可以查看源代码。,在新窗口中比较快照 当前的视图可以保存下来,选择session-save ,或使用快捷键ctrl+s多个快照可以进行对比。选择Compare Snapshots in new windows,打开新窗口。默认左侧列出可用的快照,可以根据需要选择进行对比。 IDE集成 当Jprofiler与IDE(eclipse)集成后,不需要配置sessin,可以直接在IDE中调用。Jprofiler 集成不能在eclipse部分安装情况下使用。安装前关闭eclipse,按照安装向导进行。安装完成后, 打开eclipse,查看 java perspective中是否存在run-profiler,不存在,请在windows-customize perspec

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号