msnshow 发表于 2011-11-30 20:47:16

6.3.4.3 死锁检测图形
JVM中所有死锁的图形化显示. 正常的状态如果没有死锁,就显示"No deadlocks detected" 死锁根据以下情况进行分析:
� 在JAVA平台上建立的最初的同步机制,如:使用同步的关键词
� 在java.util.concurrent包中的锁机制,不使用对象的监控而是不同的实现机制
死锁检测图形有以下特征:
� 在死锁中的线程以紫色的矩形表示。矩形包括以下信息: � 线程名 � 线程组(括号括起来) � 在死锁中的监视器以灰色的矩形表示,包括以下信息: � 监控的类 � 可以用来继续跟踪的监控ID � 监控器的所有权用实线箭头表示。箭头指向从线程到监控器。想要了解详细信息,把鼠标停留到箭头上,可以看到提示窗口 � 导致线程死锁的阻塞原因使用虚线箭头来表示。前头指向从阻塞线程到线程想进行的监控器

msnshow 发表于 2011-11-30 20:47:29

6.3.4.4 当前监控使用视图
显示当前等待和阻塞的操作
显示以下6列:可排序
� 时间Time 事件起始时间
� Duration 事件持续时间,事件必须还在进行中
� Type 事件类型, "waiting" 或"blocked"中的一种
� Monitor ID 在特定的监控实例上识别多个事件的ID � Monitor class 监控器的类。如果没有JAVA对象与此监控器相关联,刚显示 � Waiting thread 事件中正在或过去在等待的线程
6.3.4.5 监控使用历史视图
显示监控中等待和阻塞的操作6.3.4.6 监控使用统计
显示监控使用的统计信息
点击工具栏上的Calculate statistics,或者选择View->Calculate statistics。
在统计开始前,会打开一个monitor usage statistics options对话框,统计结果表是静态的,并能重新计算。
包级别的统计表包含下面5列:
� Monitors/Threads/Classes 在统计对象框中按分组标准显示名称
� Block count 在此监控组中,阻塞操作的频繁程度
� Block duration 在此监控组中,所有阻塞操作的累积的待续阻塞时间
� Wait count 在此监控组中,等待操作的频繁程度
Wait duration 在此监控组中,所有等待操作的累积的待续等待时间

msnshow 发表于 2011-11-30 20:47:42

6.3.5 VM遥感监测视图
6.3.5.1 堆(Heap) 显示最大的堆大小以及堆中已使用的和未使用的空间大小。可以显示线性图和区域图
6.3.5.2 对象(Objects) 显示堆上对象的总数,分为数组和非数组。可以显示线性图和区域图
6.3.5.3 垃圾回收(Garbage collector) 显示垃圾回收活动,包括对象释放的一条线和对象移动的一条线。只显示已记录的对象,如果没有记录对象,此视图不可用
6.3.5.4 类(Classes) 显示JVM调用的类的总,分为过滤类和非过滤类
6.3.5.5 线程(Threads) 显示JVM中活着的线程总数,分为活动的线程和不活动的线程。
6.4 操作方法:
6.4.1 视图导出
视图导出可以导出生成HTML文件或CSV文件,并可设定导出后是否立即打开文件。
6.4.2 查看源代码和字节码
查看源代码:需要在Session�General Setting �Default Java File Path 下的Source Path中设定源代码路径,设定后要重启JProfiler。如下图:

msnshow 发表于 2011-11-30 20:48:30



查看字节码:需要在Session�General Setting �Default Java File Path 下的Class Path中设定发布的类的路径,设定后要重启JProfiler。如下图:


msnshow 发表于 2011-11-30 20:48:42

6.4.3 监控设置模板
在会话开始前,会打开监控设置模板,显示一系列为各种情况预先配置好的多种监控设置模板,可以下拉选择。
可以在下拉框中选择 打开监控设置对话框。见 2.2 Profiling settings在 Startup一栏里,你能够选择启动时是否立即记录CPU数据或分配数据。在很多监控里对应用的开始阶段不感兴趣。对于大的应用服务器,在开始时不记录会节省大量内存,加快启动速度
� record CPU data on startup invocations view 和 hot spots view 将立即显示数据
� record allocations on startup recorded objects view 将立即显示数据6.5 在新的窗口中比较快照
当前的视图可以保存下来,选择session-->save snapshot或者使用快捷方式ctrl+s。多个快照可以进行比较,选择session-->compare snapshots in new window,打开一个新的窗口,如图:

msnshow 发表于 2011-11-30 20:49:27



6.5.1 创建内存比较
选择File�Create Memory Comparison,或使用快捷键F5。
第一步:选择比较类型

msnshow 发表于 2011-11-30 20:50:18

第二步:选择快照



6.5.1.1 对象比较
第三步:选择记录类型
� 全部对象 � 记录对象 第四步:选择集成等级――类、包、组件

msnshow 发表于 2011-11-30 20:51:14

第五步:查看比较结果



6.5.1.2 分配热点比较
第三步:选择比较的类:所有类、选择的类


msnshow 发表于 2011-11-30 20:51:59

第四步:选择视图参数
� 集成等级:类、包、组件 � 活动模式:存活对象、垃圾回收对象、存活的和垃圾回收的对象 � 类过滤:独立显示、在调用类上增加分配


第五步:查看比较结果(例中无)


msnshow 发表于 2011-11-30 20:52:35

6.5.1.3 分配树比较
第三步:选择比较的类:所有类、选择的类



第四步:选择视图参数
� 集成等级:方法、类、包、组件 � 活动模式:存活对象、垃圾回收对象、存活的和垃圾回收的对象

msnshow 发表于 2011-11-30 20:53:48



6.5.2 创建CPU比较
选择File�Create CPU Comparison,或使用快捷键F6 第一步,选择比较类型


msnshow 发表于 2011-11-30 20:55:21

第二步:选择快照





第三步:选择线程
选择第一个快照需要比较的线程
针对第二个快照,有两种选择:与第一个快照相同的线程;不同的线程,可任何选择


msnshow 发表于 2011-11-30 20:56:19

6.5.2.1 热点比较
第四步:选择视图参数
� 线程状态:所有状态、可运行的、等待状态、阻塞状态、NET I/O � 集成等级:方法、类、包、组件 � 热点类型:方法调用、JDBC 调用、JMS调用、JNDI调用
� 不同的计算方法:总调用时间、平均调用时间


第五步:查看视图结果

msnshow 发表于 2011-11-30 20:57:51

6.5.2.2
调用树比较
第四步:选择视图参数
� 线程状态:所有状态、可运行的、等待状态、阻塞状态、NET I/O � 集成等级:方法、类、包、组件 � 不同的计算方法:总调用时间、平均调用时间


第五步:查看比较结果




msnshow 发表于 2011-11-30 20:59:04

6.5.3 创建遥感比较
选择File�Create Telemetry Comparison,或使用快捷键F7 第一步:选择比较类型:



第二步:选择要比较的快照

msnshow 发表于 2011-11-30 21:00:29

只比较选中的快照,在打开比较向导之前,要多选需要比较的快照。
对比所有可用快照。
第三步:选择比较类型
� 当前值(快照存储时的值) � 最大值 � 某个书签标记值

6.5.3.1 堆比较
第四步:选择要比较的度量,可以多选
� 最大的堆大小 � 未使用的堆大小 � 使用的堆大小

msnshow 发表于 2011-11-30 21:01:44

第五步:查看比较结果


6.5.3.2 记录对象比较
第四步:选择要比较的度量,可以多选
� 全部对象 � 非数组 � 数组


第五步:查看比较结果

msnshow 发表于 2011-11-30 21:03:20

6.5.3.3 类比较
第四步:选择要比较的度量,可以多选
� 全部类 � 过滤类 � 未过滤类


第五步:查看比较结果

msnshow 发表于 2011-11-30 21:04:00

6.5.3.4
线程比较
第四步:选择要比较的度量,可以多选
� 全部线程 � 活动线程 � 不活动线程



第五步:查看比较结果

msnshow 发表于 2011-11-30 21:04:51

6.6 IDE集成(Eclipse 3.x)
当Jprofiler与 eclipse 3.x IDE集成后, JProfiler 不需要配置session ,可以直接在IDE中调用。
需求:需要eclipse 3.0 或eclipse 3.1全部SDK的插件。JProfiler集成不能在eclipse 框架部分安装的情况下使用。
具体安装请参见JProfiler's setup wizard 提醒:请在插件安装之前关闭eclipse,要按照JProfiler's setup wizard来安装JProfiler's,请在完成全部安装之前不要启动eclipse。
文件选择器会提醒你安装在eclipse的安装目录下。
当收到安装完成提示后,你可以打开eclipse并检查安装是否成功。如果在Java perspective中,
菜单Run->Profile ...不存在。请在Window->Customize perspective中,在Command标签中的"Profile”选项前打勾
从eclipse中剖析应用,在Run菜单下选择profiling 命令,或者点相关的按钮。




页: 1 2 [3] 4 5
查看完整版本: 谁知道jprofiler怎么使用啊