Jprofiler分析视图简介

Telemetries:遥测

该模块是对应用服务监控数据的一个图表概览
在这里插入图片描述
  • Overview:概览,该以图表形式汇总了当前应用服务器的资源使用情况
  • Memory:内存占用,统计内存已使用和空闲的空间
  • Record Objects:堆实例对象记录,以数组和非数组形式来分类记录堆上的对象和数组数量
  • Record Throughput:对象创建回收记录,记录单位时间间隔内对象创建和回收的数量
  • GC Activity:垃圾回收,统计垃圾回收率
  • Classes:类加载数量,分为CPU已加载和CPU未加载
  • Thread:线程活动状态,线程活动数量
  • CPU Load:单位时间间隔内CPU的占有率

应用技巧

Memory/Thread/CPU Load比较常用。

  • 若运行垃圾回收后,发现Memory还是内存回收不稳定,还是存在蓝色区域持续增高现象,可能系统出现内存泄漏
  • 若Thread模块出现多处红色标注的线程阻塞,说明系统有程序比较好使,需排查启用异步执行


    在这里插入图片描述
  • 若CPU Load占用率持续升高,说明系统存在请求长时间占用资源不释放的问题,需要优化


    在这里插入图片描述

Live memory:实时内存视图

该模块动态显示对象堆内存的使用情况


在这里插入图片描述
  • All Object:所有对象,显示所有加载的类列表和堆上分配的实例数及占用的堆空间,可以安装不同的类型进行查看,例如:类,包,组件
  • Record Object:记录对象,显示所有已记录的类列表,堆上分配的实例数及占用的堆空间,可以按照不同的类型进行查看,例如:类,包,组件。
    记录对象和所有对象的区别:记录对象是active,也就是说正在被使用或者已经被使用的对象,所有对象是指加载进来的所有对象。
  • Allocation Call Tree:分配访问树,分配调用树视图,可以根据请求方法,类,包,组件显示
  • Allocation Hot Spots:分配热点,显示所选类的对象被分配在哪儿的方法列表,分配至少占总数的1%才会被显示
  • Class Tracker:类跟踪器,显示类所标记的类或者包的实例随时间的变化

应用技巧

在这里可以查看类或者方法的内存占用情况,若发现某个类或者方法内存占用比较高,或者某段时间占用持续升高,就可以关注这个类或者方法,是不是采用类占用大量内存的手法。
点击【mark current values】可以对当前的监控数据进行标记,褐红色代表内存的占用情况,绿色代表参考时间点。这样就可以观察内存的使用,对象的创建和gc的使用情况等。
点击【mark current values】后,All Object和Record Object会多出一列Difference,该列显示类当前时间对象实例数量较之标记时刻对象实例数量的差值,以数字和百分比显示。


在这里插入图片描述

Heap Walker:堆遍历视图

该模块可以明确查看对象的引用关系,常用来查找内存泄漏问题。

在这里插入图片描述

应用技巧

当发现某个该释放掉的对象没有释放,就可以看一下哪个实例在引用它,找到了根即找到了溢出点。
例如,在Live Memory视图中发现某个类或者包持续消耗内存不释放,在该类或包上右键选择“show section in Heap Walker”,即可进入堆视图,在该视图查看对象堆内存具体分配情况,已经对象的引用和被引用情况。

CPU views:CPU视图

从5个子分析视图共同组成,从不同层面展示类程序对cpu的使用情况


在这里插入图片描述
  • Call Tree:以树结构自顶向下显示线程方法调用树已经各个方法对cpu的使用情况
  • Hot Sports:显示消耗内存最多的类型树列表,每个节点显示具体方法占用cpu的比例
  • Call Graph:显示一个从已选方法,类,包或J2EE组件开始的访问队列的图
  • Method Statistics:记录了方法调用的时间细节
  • Call Tracer:记录多线程方法调用的时间顺序
  • JavaScript XHR Origin Tracking:js原始请求追踪,需要借助Google浏览器的扩展插件

应用技巧

观察某个时间段内线程对应cpu的使用情况,如果某个方法对cpu长时间的高频占用,那程序肯定会慢,这时就要检查该方法中是否有什么非常耗时的计算。

Threads:线程视图

该模块主要用来监控管理线程的运行状态。


在这里插入图片描述
  • Threads History:动态显示线程列表及线程的历史运行状态
    绿色:表示线程正在运行并能接受CPU时间
    橙色:表示线程正在睡眠等待计时器或者其他线程唤醒
    红色:表示线程阻塞
    蓝色:表示线程Net I/O操作,线程在等待Java库的网络操作完成,在线程监听socket链接或者等待读写数据到socket中
  • Threads Monitor:显示所有线程的运行列表,包括执行状态,开始时间等
  • Threads Dump:显示所有线程的堆栈跟踪

应用技巧

根据Threads History可以查看当前系统是否有线程堵塞的情况。若存在,只需在当前线程右键选择“show call tree for selected Thread”,在call tree视图查看线程分配调用树以及cpu的占用率,在相关的类方法上右键选择“call graph ”可以直观查看线程调用树并追踪阻塞的方法或者类。

Monitor & locks:锁视图

该模块显示类JVM内部锁及监控运行的状态

在这里插入图片描述
  • Current Locking Graph:显示JVM当前的锁定情况
  • Current Monitors:显示等待或者阻塞的线程
  • Locking History Graph:显示记录在JVM中锁定历史
  • Monitor History:显示历史等待或者阻塞的线程
  • Monitor Usage Statistics:静态计算统计监控器搜集的数据

应用技巧
通过Current Locking Graph可以很直观的查看当前线程锁定状态及线程和监视器的关系
黄色箭头:线程等待
红色箭头:线程死锁
黑色箭头:指示了监视器对线程的所有权

Batabases:数据库快照对比

该模块给出类5中预定义的数据库探针,JDBC, JPA/Hibernate ,MongDB, Cassandra ,HBase,可根据自身程序所采用的数据库框架选择合适的探针,进行性能测试。

JEE & Probes:Java探针

MBeans:可管理资源

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,192评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,858评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,517评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,148评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,162评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,905评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,537评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,439评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,956评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,083评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,218评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,899评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,565评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,093评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,201评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,539评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,215评论 2 358