JVM学习-Jprofiler

JProfiler

基本概述
特点
  • 使用方便,界面操作友好
  • 对被分析的应用影响小(提供模板)
  • CPU,Tread,Memory分析功能尤其强大
  • 支持对jdbc,noSql,jsp,servlet,socket进行分析
  • 支持多种模式(离线、在线)的分析
  • 支持监控本地、远程JVM
  • 跨平台,拥有多种操作系统版本
主要功能
  • 方法调用:对方法调用的分析可以帮助您了解应用程序在做什么,并找到提高其性能的方法
  • 内存分配:通过分析堆上对象、引用链和垃圾收集能帮您修复内存泄漏问题,优化内存使用
  • 线程和锁:JProfiler提供多种针对线程和锁的分析视图帮助您发现多线程问题
  • 高级子系统:许多性能问题都发生在更高的语义级别上,如对于JDBC调用,可能希望找出执行最慢的SQL语句,JProfiler支持对这些子系统进行集成分析
具体使用
数据采集方式
  • Instrumentation重构模式:这是JProfiler的全功能模式,在class加载之前,JProfiler把相关功能代码写入到需要分析的class的bytecode中,对正在运行的JVM有一定影响
    • 优点:功能强大,在此设置中,调用堆栈信息是准备的
    • 缺点:若分析的class较多,则对应用的性能影响较大,CPU开销可能很高(取决于Filter控制),因此使用此模式一般配合Filter使用,只对特定类或包进行分析
  • Sampling抽样模式:类似于样本统计,每隔一定时间(5ms)将每个线程中方法栈的信息统计出来
    • 优点:对CPU的开销非常低,对应用影响小(即使不配置任何Filter)
    • 缺点:一些数据/特性不能提供
  • JProfiler本身没有指出数据的采集类型,这里的采集类型是针对方法调用的采集类型,因为JProfiler的绝大多数核心功能都依赖方法调用采集的数据,所以可直接认为是JProfiler的数据采集类型
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
遥感监测Telemetries
内存视图 Live Memory

在这里插入图片描述

  • class/class instance相关信息,例如对象的个数,大小,对象创建的方法执行栈,对象创建的热点
    • 所有对象All Objects–显示所有加载的类的列表和在堆上分配的实例数
    • 记录对象Record Objects–查看特定时间段对象的分配,并记录分配的调用堆栈
    • 分配访问树Allocation Call Tree–显示一棵请求树或者方法,类,包或对已选择类有带注释的分配信息的J2EE组件
    • 分配热点Allocation Hot Spots–显示一个列表,包括方法,类,包或分配已选类的J2EE组件,可以标注当前值并显示差异值,对于每个热点都可以显示它的跟踪记录树
    • 类追踪器Class Tracker–类跟踪视图可以包含任意数量的图表,显示选定的类和包的实例与时间
    • 分析内存情况
      • 频繁创建的Java对象:死循环,循环次数过多
      • 存在大对象,读取文件时,byte[]应该边读边客情,如果长时间不写,导致byte[]过大
      • 存在内存泄漏
堆遍历 Heap Walker

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

CPU视图 CPU views
  • 类Classes:显示所有类和它们的实例,可以右键具体类“Used Selected Instance”实现进一步跟踪
  • 分配Allocations:为所有记录对象显示分配树和分配热点
  • 索引References:为单个对象和“显示到垃圾回收根目录的路径”提供索引图的显示功能,还能提供合并输入视图和输出视图的功能
  • 时间Time:显示一个对已记录对象的解决时间的柱状图
  • 检查Inspections:显示一个数量的操作,将分析当前对象集在某种条件下的子集,实质是一个筛选过程
  • 图表Graph:需要在references视图和biggest视图手动添加对象图表,它可以显示对象的传入和传出引用,能方便找到垃圾收集器根源
  • 在工具栏点击“Go To Start”可以使堆内存重新计数,也就是回到初始状态
    在这里插入图片描述
线程视图 Threads
监视器&锁 Monitors&Locks

待续… …

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/682672.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android WebView上传文件/自定义弹窗技术,附件的解决方案

安卓内核开发 其实是Android的webview默认是不支持<input type"file"/>文件上传的。现在的前端页面需要处理的是&#xff1a; 权限 文件路径AndroidManifest.xml <uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE"/&g…

代理IP类型有哪些?定义与区别

您应该对代理有了一定的了解。但是&#xff0c;代理服务器也有不同的类型。就其来源而言&#xff0c;最常见的代理服务器类型是住宅代理和数据中心代理&#xff1a; 1、住宅代理 住宅代理是 ISP 向房主提供的 IP 地址。它是与物理位置关联的真实 IP 地址&#xff0c;因此允许…

运放应用1 - 反相放大电路

1.前置知识 反相放大电路存在 负反馈电路 &#xff0c;工作在线性区&#xff0c;可以利用 虚短 概念来分析电路。 注&#xff1a;运放的 虚断 特性是一直存在的&#xff0c;虚短特性则需要运放工作在 线性区 有关运放的基础知识&#xff0c;可以参考我的另外一篇文章&#xff…

flutter as连接网易模拟器

网易模拟器下载 Mac 使用MuMu模拟器调试 Flutter开发 Android Studio 安装第三方模拟器—网易MuMu Mac 安卓Studio使用外部模拟器 Mac电脑:Android Studio 连接 MUMU 网易模拟器 Mac 上 Android Studio 链接网易 MuMu 模拟器调试 在 .zshrc 中设置 adb 二进制文件路径: …

纯血鸿蒙开发实战—如何使用画布组件Canvas绘制图形和文字,以及转圈动画的实现

本文主要通过抽奖转盘小项目讲解在鸿蒙开发中如何使用画布组件Canvas绘制图形和文字&#xff0c;以及转圈动画的实现。效果图如下&#xff1a; 首先绘制转盘的六个分区&#xff1a; drawInnerArc() {let colors [rgb(61,127,255),rgb(121,189,255)];let radius this.screenW…

运维系列.Linux下的用户管理

运维系列 Linux下的用户管理 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/ar…

[RK3588-Android12] 关于BQ25703充电IC+CW2017电量计调试

问题描述 BQ25703充电ICCW2017电量计调试 解决方案&#xff1a; 附上dts配置文件 &i2c6 {clock-frequency <400000>;status "okay";// CONFIG_BATTERY_CW2017cw2017: cw201763 {status "okay";compatible "cellwise,cw2017";re…

数字影像产业园的三大赋能:科技、创新与无限可能

数字影像产业园作为文创产业的重要载体&#xff0c;以科技为核心驱动力&#xff0c;不断推动产业的技术革新和升级。 园区内汇聚了最前沿的数字技术资源&#xff0c;高清摄影设备、虚拟现实技术、人工智能应用等尖端科技在这里得到广泛应用&#xff0c;不仅提升了生产效率&…

如何一键批量下载淘宝高清主图、详情图、sku及视频信息

图片对电商至关重要&#xff0c;因为它们是商品展示的主要方式&#xff0c;直接影响消费者的购买决策。高质量的图片能够吸引顾客注意&#xff0c;提升产品吸引力&#xff0c;增加点击率和转化率。此外&#xff0c;好的图片还有助于建立品牌形象&#xff0c;提高客户信任度。 …

算法金 | 10 大必知的自动化机器学习库(Python)

大侠幸会&#xff0c;在下全网同名[算法金] 0 基础转 AI 上岸&#xff0c;多个算法赛 Top [日更万日&#xff0c;让更多人享受智能乐趣] 一、入门级自动化机器学习库 1.1 Auto-Sklearn 简介&#xff1a; Auto-Sklearn 是一个自动机器学习库&#xff0c;基于 Python 的 scikit…

IP黑名单与IP白名单是什么?

在IP代理使用中&#xff0c;我们经常听到黑名单与白名单两个名词&#xff0c;它们不仅提供了强大的防御机制&#xff0c;还可以灵活应对不同的安全威胁。本文将详细探讨IP黑名单和白名单在网络安全中的双重屏障作用。 一、IP黑名单和白名单定义 IP黑名单与IP白名单是网络安全中…

AI技能培训课程知识付费小程序的作用是什么

AI近些年逐渐走入工作生活中&#xff0c;如AI创作/绘图/视频/配音/渲染等&#xff0c;妙用AI可以节约大量时间和带来灵感&#xff0c;不少平台或个人也在围绕其开展生意&#xff0c;技术在不断进步&#xff0c;对此感兴趣及想要应用的用户/单位也不少&#xff0c;但苦于不掌握不…

linux信号集与信号掩码-保护信号处理程序,确保进程正确运行

在Linux环境下&#xff0c;当进程收到信号时&#xff0c;如何优雅地处理并确保程序的正常运行?这就需要借助信号集和信号掩码的功能。本文将为你揭开信号集和信号掩码的神秘面纱&#xff0c;并通过生动的代码示例&#xff0c;让你彻底掌握在C程序中使用它们的技巧。 一、信号集…

【雷丰阳-谷粒商城 】【分布式基础篇-全栈开发篇】【06】【商品服务】接口文档地址_三级分类_SPU_SKU

持续学习&持续更新中… 学习态度&#xff1a;守破离 【雷丰阳-谷粒商城 】【分布式基础篇-全栈开发篇】【06】【商品服务】接口文档地址_三级分类_SPU_SKU 接口文档地址三级分类效果图建表后台组建数据的树形结构在人人(后台管理系统)中实现管理商品的三级分类路径规则使用…

开关电源基本原理1

目录 内容概述 关于电感 认识电感 电感充电 电感储能 电感充电 电感参数 电感放电 利用电感升压 电感电流波形 伏秒法则 电流纹波率 电感电流三种导电模式 电流纹波率与频率的关系 电流纹波率与电感值的关系 电感值与电感体积 电路纹波率r的最优值 电感值与电…

出行预测:端午打车需求将上涨31%,滴滴发放超2亿司机补贴

作为上半年的“收官”小长假&#xff0c;端午假期接棒“五一”的出行热度&#xff0c;中短途周边游持续升温&#xff0c;海滨旅行、龙舟民俗体验成为新的出行看点。 滴滴出行预测&#xff0c;端午节当天&#xff08;6月10日&#xff09;打车需求将同比去年上涨约31%。今年端午…

[数据集][图像分类]十二生肖分类数据集8492张12类别

数据集类型&#xff1a;图像分类用&#xff0c;不可用于目标检测无标注文件 数据集格式&#xff1a;仅仅包含jpg图片&#xff0c;每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数)&#xff1a;8492 分类类别数&#xff1a;12 类别名称:["dog","dragon&q…

【RISC-V】站在巨人的肩膀上——看开源芯片、软件生态、与先进计算/人工智能/安全的结合

目录 会议议程专题二&#xff1a;RISC-V与先进计算基于RISC-V的后量子密码芯片设计&#xff0c;刘冬生&#xff0c;华中科技大学存算一体集成芯片&#xff0c;刘琦&#xff0c;复旦大学面向端侧大模型计算的RISC-V矩阵扩展架构&#xff0c;复旦大学&#xff0c;韩 军 专题五&am…

电子电气架构 —— 刷写模式:并行刷写

电子电气架构 —— 刷写模式:并行刷写 我是穿拖鞋的汉子,魔都中坚持长期主义的工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 人们会在生活中不断攻击你。他们的主要武器是向你灌输对自己的怀疑:你的价值、你的能力、你的潜力。他们往往会将此…

云原生架构案例分析_5.某体育用品公司云原生架构的业务中台构建

1.背景和挑战 某体育用品公司作为中国领先的体育用品企业之一&#xff0c;在2016年&#xff0c;某体育用品公司启动集团第三次战略升级&#xff0c;打造以消费者体验为核心的“3”&#xff08;“互联网”、“体育”和“产品”&#xff09;的战略目标&#xff0c;积极拥抱云计算…