JProfiler的基本操作和配置PPT课件.ppt_第1页
JProfiler的基本操作和配置PPT课件.ppt_第2页
JProfiler的基本操作和配置PPT课件.ppt_第3页
JProfiler的基本操作和配置PPT课件.ppt_第4页
JProfiler的基本操作和配置PPT课件.ppt_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2012年10月 基于JAVA的性能诊断和分析工具 JProfiler的基本操作和配置 目录 一 JProfiler基本介绍二 JProfiler的主要功能模块介绍三 JProfiler对本地tomcat的监控四 JProfiler对远程tomcat的监控五 与IDE的集成六 实战操作演练 JProfiler基本介绍 JProfiler是一个著名的用于java系统监控分析的软件 功能很强大 可以监控普通的javaapplication applet javawebstart applicationserver等等 JProfiler通过实时监视系统的内存使用情况 垃圾回收情况和线程运行状况 从而很好的监视JVM运行情况及其性能 除了可以监控本地的程序 还可以对远程服务器上跑的应用进行监控 JProfiler基本介绍 JProfiler直觉式的GUI可以让用户通过视觉上的观察 可以查看当前应用的对象 对象引用 内存 CPU使用情况 线程 线程运行情况 阻塞 等待等 同时可以查找应用内存使用的热点 即 哪个对象占用的内存比较多 或者CPU热点 即 哪个方法占用CPU资源比较多 这样就能方便的找到瓶颈和内存漏失等问题 JProfiler的功能模块 内存视图 MemoryViews 堆遍历 HeapWalker CPU视图 CPUViews 线程视图 ThreadViews 监视器视图 MonitorViews VM遥感勘测技术 VMTelemetryViews JProfiler的功能模块 内存视图 MemoryViews JProfiler的内存视图部分可以提供动态的内存使用状况更新视图和显示关于内存分配状况信息的视图 所有的视图都有几个聚集层并且能够显示现有存在的对象和作为垃圾回收的对象 内存视图 JProfiler的功能模块 内存视图 MemoryViews 所有对象 显示类或在状况统计和尺码信息堆上所有对象的包 你可以标记当前值并显示差异值 记录对象 Recordobjects 显示类或所有已记录对象的包 你可以标记出当前值并且显示差异值 分配访问树 Allocationcalltree 显示一棵请求树或者方法 类 包或对已选择类有带注释的分配信息的J2EE组件 分配热点 Allocationhotspots 显示一个列表 包括方法 类 包或分配已选类的J2EE组件 你可以标注当前值并且显示差异值 对于每个热点都可以显示它的跟踪记录树 类跟踪 classtracker 跟踪一个类的所有实例在内存中变化时间图 JProfiler的功能模块 堆遍历 Heapwalker 在JProfiler的堆遍历器 Heapwalker 中 你可以对堆的状况进行快照并且可以通过选择步骤下寻找感兴趣的对象 堆遍历器包括五个视图 如下 堆遍历 Heapwalker JProfiler的功能模块 堆遍历Heapwalker类Classes 显示所有类和它们的实例 分配Allocations 为所有记录对象显示分配树和分配热点 对象来自哪些请求图 索引References 为单个对象和 显示到垃圾回收根目录的路径 提供索引图的显示功能 还能提供合并输入视图和输出视图的功能 对象在内存中与其他对象的关系图 数据Graph 为单个对象显示实例和类数据 时间Time 显示一个对已记录对象的解决时间的柱状图 JProfiler的功能模块 CPU视图 CPUViews JProfiler提供不同的方法来记录访问树以优化性能和细节 线程或者线程组以及线程状况可以被所有的视图选择 所有的视图都可以聚集到方法 类 包或J2EE组件等不同层上 CPU视图部分包括 CPU视图 CPUViews JProfiler的功能模块 CPU视图 CPUViews 访问树Calltree 显示一个积累的自顶向下的树 树中包含所有在JVM中已记录的访问队列 JDBC JMS和JNDI服务请求都被注释在请求树中 请求树可以根据Servlet和JSP对URL的不同需要进行拆分 热点Hotspots 显示消耗时间最多的方法的列表 对每个热点都能够显示回溯树 该热点可以按照方法请求 JDBC JMS和JNDI服务请求以及按照URL请求来进行计算 访问图Callgraph 显示一个从已选方法 类 包或J2EE组件开始的访问队列的图 显示该方法或者类被其他对象调用的关联图 JProfiler的功能模块 线程视图 ThreadViews 线程历史Threadhistory 显示线程活动和线程状态在一起的活动时间表 线程监控Threadmonitor 显示一个列表 包括所有的活动线程以及它们目前的活动状况 线程回收站Threaddumps 显示已销毁的线程 线程视图 ThreadViews JProfiler的功能模块 监视器视图 MonitorViews JProfiler的功能模块 VM遥感勘测技术 VMTelemetryViews 内存Memory 显示一个内存的使用状况和堆尺寸大小活动时间表 记录的对象Recordedobjects 显示一张关于活动对象与数组的图表的活动时间表 垃圾回收Garbagecollector 显示一张关于垃圾回收活动的活动时间表 类Classes 显示一个与已装载类的图表的活动时间表 线程Threads 显示一个与动态线程图表的活动时间表 VM遥感勘测技术 VMTelemetryViews JProfiler对本地tomcat的监控 windows平台 前提条件安装好tomcat并配置好环境变量 安装好JDK并配置好环境变量 JDK版本最好是1 6版本的 如果是1 5及以下版本 可能会不支持中文目录 JProfiler对本地tomcat的监控 windows平台 操作步骤1 点击工具栏上的StartCenter 然后点击NewSession标签 如图所示 JProfiler对本地tomcat的监控 windows平台 2 点击IntegrationWizards下的NewServerIntegration 打开IntegrationWizards页面 选择tomcat的版本 这里选择ApacheTomact6 x 如果是带有tomcat6 exe的版本 则选择ApacheTomact6 x withtomcat6 exe 然后点击Next按钮 注意 如果是64位的JVM 则需要勾选上 64bitJVM JProfiler对本地tomcat的监控 windows平台 3 在Theprofiledapplicationislocated下选择Onthiscomputer 点击Next 如图 JProfiler对本地tomcat的监控 windows平台 4 选择JVM提供商 版本和模式 JVMVendor选择Sun Version选择1 6 0 Mode选择默认值hotspot 点击Next JProfiler对本地tomcat的监控 windows平台 5 在Startupmode下选择第二项 即Startupimmediately connectlaterwiththeJProfilerGUI 点击Next 如图 JProfiler对本地tomcat的监控 windows平台 6 在Locatethestartscript 点击浏览 选择tomcat的启动脚本 如startup bat 点击Next按钮 注意 startup bat一般位于bin目录下 JProfiler对本地tomcat的监控 windows平台 7 选择默认端口8849 点击Next 然后继续点击Next 8 选择Yes startthesessionandwaitfortheapplicationserver 然后点击Finish 9 然后在SessionStartup页面上勾选上RecordCPUdataonstartup和Recordallocationsonstartup两个复选框 点击OK按钮 对本地tomcat的配置完成 如图 JProfiler对本地tomcat的监控 windows平台 JProfiler对本地tomcat的监控 windows平台 特别注意 jprofiler对tomcat的监控配置完成以后 会自动在tomcat的bin目录下产生一个startup jprofiler bat文件 在监控之前 必须启动该批处理文件而不是startup bat 才能实现对tomcat的成功监控 切记 JProfiler远程tomcat的监控 windows平台 前提条件远程服务器已安装好JProfiler软件 远程服务器已安装好JDK并配置好环境变量 远程服务器已安装好tomcat并配置好环境变量 JProfiler对远程tomcat的监控 windows平台 操作步骤跟监控本地tomcat的步骤基本差不多 主要有以下几个地方不同 需要注意一下 1 在第二步选择服务器的位置时应该选 远程机器 如图 JProfiler对远程tomcat的监控 windows平台 2 在第五步需要输入的是远程服务器的地址 如图 JProfiler对远程tomcat的监控 windows平台 3 在第六步时需要指定远程服务器上jprofiler的安装目录 如 F jprofiler JProfiler对远程tomcat的监控 windows平台 4 在第七步 locatethestartscript 需要将远程服务器上的startup bat文件拷到本地 点击浏览按钮并选中它 点击确定 如图 与IDE的集成 可以与Eclipse集成 可以与Jbuilder集成 可以与IBMWASD和IBMRAD集成 可以与OracleJDeveloper集成 与IDE的集成 以与Eclipse3 2的集成为例 注意 执行集成之前需要关闭Eclipse 操作步骤 1 点击主菜单 Session IDEIntergrations 与IDE的集成 2 选择Eclipse的版本 这里以3 2版本为例 如图所示 与IDE的集成 3 点击 Integrate 选择Eclipse所在的文件夹 如 D apache tomcat 6 0 32 eclipse 点击确定 4 以D apache tomcat 6 0 32 eclipse eclipse exe clean方式启动eclipse 目的是清除插件缓存 仅需第一次加此参数 与IDE的集成 5 在Eclipse里配置JProfiler点击主菜单 Window CustomizePerspective Commands 找到Profile 勾上它 再点OK即可 如图所示 与IDE的集成 6 运行测试 选择你要测试的系统的主类 右击profileas JavaApplication运行即可 实战操作演练 一 任务目标 找出项目中内存增大的原因 实战操作演练 二 配置说明操作系统 WindowsXPWeb容器 Tomcat6 0 32JDK版本 SunJDK1 6 0监控类型 本地Jprofiler安装路径 C ProgramFiles jprofiler6Tomcat安装路径 D apache tomcat 6 0 32 apache tomcat 6 0 32 实战操作演练 三 测试项目1 新建WEB项目test2 建包cn test3 在该包下建类文件TestMain java和TestBean javapackagecn test publicclassTestBean Stringname publicstaticvoidmain String args System out println test packagecn test importjava util ArrayList publicclassTestMain publicstaticArrayListlist newArrayList 存放对象的容器publicstaticintcounter 0 作统计用 实战操作演练 4 建测试用的JSP文件init1 jsp init2 jspInit1 jsp 每次执行都创建1万个TestBean对象 initSIZE counter 注 Init2 jsp和init1 jsp一模一样即可 后面有用 实战操作演练 四 配置测试用例具体操作 略 实战操作演练 五 开始测试1 在IE地址栏中输入 http localhost 8080 test init1 jsp 执行一次 我们可以在内存视图中看到cn test TestBean对象被创建了10000次 如下图所示 实战操作演练 实战操作演练 2 标记现在的状态 然后再执行init1 jsp和 init2 jsp可以让我们找到哪些类在调用后没有被释放 很重要 实战操作演练 刚才执行了4次init1 jsp和1次init2 jsp 正好产生了50000个TestBean对象 和图示显示的一样 注 红色的变成是发生变化的对象及其数量 实战操作演练 3 过一会后 按F4键进行垃圾回收 但回收完成后 这些对象依然存在 说明某些地方对这个类的引用没有被释放 4 找出是哪些地方使用了TestB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论