当前位置:首页 > jprofiler9.2入门教程
以下是对象引用视图
在当前对象上右击选择“show paths to GC Roots”可以查看当前对象引用的root根源,从而找到内存泄漏的 原因。
或者进入Recorded Objects 界面,在可疑的类上右击选择进入分配调用树
(Show Allocation Tree for selection )或者进入分配调用热点视图(Show Allocation Hot Spot for Selection 查看具体的类或方法的内存占用情况
根据这两个视图都可以查看方法占用内存的情况,找到占用率最高的方法,再进入堆视图查看具体的对象引用情况
这两个视图也比较适合查找哪个方法最耗时,最占用资源的情况,从而对具体的方法进行优化。
线程阻塞
Threads 能直观的监控线程的运行状态,及时发现堵塞的线程。 在Threads -->Threads History 查看线程的历史运行状态。如下
该图是Jprofiler自带的线程阻塞demo。图中多处出现的红色区域说明线程存在阻塞的情况。
确定了阻塞线程后,在该线程上右击选择show Call tree for selected Thread (线程调用树)或者 show Hots Spots Tree for selected Thread (线程调用热点)查看线程的具体调用情况,本案例选择线程调用树,如下图
Thread status选择 Blocked 然后,在阻塞的线程上右击选择 show call graph 即可查看到阻塞线程的具体调用源头
查看占用CPU较多的方法
这个可以在 Live Memory ->Allocation Call Tree 中查看到,上文已提到,在此不再赘述。
检测sql语句的执行效率
这个模块就需要用到“探针”了,在DataBases视图选择和系统数据库框架匹配的探针,进行监控。如果预定义的探针中没有合适的,可以自定义探针。自定义探针有两种方式:
(1)已经整合了IDE的情况下,可以在IDE编写探针,即要定义收集的数据及测试指标的规则。编译后将这个类 导入JProfiler
共分享92篇相关文档