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

待续… …

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

纯血鸿蒙开发教程:如何实现运动饮食卡片效果

开发背景 人们对健康的要求越来越高,从单纯的健康饮食到健康运动,再到两者的结合。但是,饮食和运动之间的平衡一般人很难掌握,而我们这款 APP 将饮食、运动、以及自身身体状况(如体脂、体重、内脂等)有机结…

力扣1838.最高频的元素的频数

力扣1838.最高频的元素的频数 首先排序 然后右指针遍历补成的数 每次加**差值(num[i] - num[i-1]) * 位数(i - j) class Solution {public:int maxFrequency(vector<int>& nums, int k) {int res1,n nums.size();sort(nums.begin(),nums.end());long long ans0;fo…

编程互动遥控机器狗电子方案定制

东莞酷得智能科技方案公司&#xff0c;专注于电子玩具行业MCU单片机电子方案定制开发服务。酷得开发的电子方案中&#xff0c;涵盖了益智、娱乐、运动等多个领域&#xff0c;满足了不同年龄段孩子们的需求。这些玩具不仅能帮助孩子们度过愉快的时光&#xff0c;还能在游戏中学习…

linux上VirtualBox使用

前言 最近想把唯一的windows系统装成linux&#xff0c; 但是确实存在一些特殊软件无法舍弃&#xff0c;所有装完linux需要用虚拟机装个windows 上来使用特定的一些软件&#xff08;不想用wine了&#xff09;。 还有对一些特定usb设备的透传&#xff0c;这样才能保证在虚拟机中…

【Linux】Linux工具——gdb

1. gdb 概述 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许&#xff0c;各位比较喜欢那种图形界面方式的&#xff0c;像VC、BCB等IDE的调试&#xff0c;但如果你是在 UNIX平台下做软件&#xff0c;你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能…

和平饭店短视频:成都科成博通文化传媒公司

和平饭店短视频&#xff1a;历史的沉淀与现代的演绎 随着短视频平台的兴起&#xff0c;越来越多的人开始通过镜头记录生活、分享故事。在众多短视频中&#xff0c;以“和平饭店”为主题的短视频独树一帜&#xff0c;以其独特的魅力吸引了大量观众的目光。成都科成博通文化传媒…

Oracle NUMTOYMINTERVAL函数的使用

Oracle NUMTOYMINTERVAL函数的使用 NUMTOYMINTERVAL是Oracle数据库中的一个函数&#xff0c;用于将给定的数字转换为INTERVAL YEAR TO MONTH类型的值。该函数在处理日期和时间计算时非常有用&#xff0c;特别是当你需要将年或月的数量转换为时间间隔时。 以下是关于NUMTOYMIN…

【常见报错】影刀小窗口消失-作者:【小可耐教你学影刀RPA】

现象描述&#xff1a; 影刀能够正常登录并运行&#xff0c;但是从常规模式切换到调度模式后能出现启动页&#xff0c;然后程序就退出了&#xff0c;查看影刀日志和事件查看器中的日志都没有任何异常消息 问题原因&#xff1a; 正常切换调度后会在窗口右下角出现一个机器人的小…

QT+FFmpeg+Windows开发环境搭建(加薪点)

01、Windows 环境搭建 FFMPEG官网:http://ffmpeg.org/ 02、下载4.2.1版本源码 源码:https://ffmpeg.org/releases/ffmpeg-4.2.1.tar.bz2 03、下载4.2.1编译好的文件 下载已经编译好的FFMPEG)(迅雷下载很快) 网址:https://ffmpeg.zeranoe.com/builds/ 32位下载地址:(迅雷…

特征工程及python实现

一、特征构建 概述 从原始数据中构建新的特征&#xff0c;一般需要根据业务分析&#xff0c;生成能更好体现业务特性的新特征&#xff0c;这些新特征要与目标关系紧密&#xff0c;能提升模型表现或更好地解释模型。 方法 时间周期&#xff1a;不同的时间切片长度&#xff0…

超实惠的GPU云服务器安利!!

自己一个人抱着老笔记本学深度学习&#xff0c;没有GPU是真的难受。Colab用过&#xff0c;GPU稍微用用就被剥夺了。华为云在培训的时候也用过&#xff0c;好贵。现在学到大模型&#xff0c;cuda10.1举步维艰。 失眠在网上冲浪&#xff0c;刷到了潞晨云&#xff0c;一块六就能用…

机器视觉:搞清楚视觉项目的需求

一、确定被检测物 首先要搞清楚&#xff0c;你要检测什么东西&#xff0c;是什么形状&#xff0c;什么颜色&#xff0c;什么材质&#xff1f; 二、确定检测项目 你要检测什么内容&#xff0c;一般检测的内容有如下&#xff1a; 1、物体有无 2、物体的状态 3、物体的尺寸 4、物…

SL4010 40V耐压 300W大功率升压IC 12V5A大功率UPS电源专用

在当今这个信息高速发展的时代&#xff0c;电力稳定已成为企业运营和个人生活的核心需求。UPS&#xff08;不间断电源&#xff09;作为电力的守护者&#xff0c;其性能和质量直接关系到我们的工作和生活能否顺畅进行。今天&#xff0c;我们为您推荐一款高性能的UPS应急电源芯片…

K8s service 底层逻辑

文章目录 K8s service 底层逻辑Kube-proxy 代理模式Service 请求情况Service-Iptables 模式iptables 规则介绍ClusterIP 模式分析NodePort 模式分析 Service- IPVS 模式 服务发现环境变量CoreDNSCoreDNS 策略ClusterFirst&#xff08;默认DNS策略&#xff09;CluterFirstWithHo…

gcc编译器

预处理gcc -E b.c -o g.i -S -s -c -o gcc a.c -L acc.c指导路径 3 /

0041__在VC中链接动态链接库(DLL)的方法

在VC中链接动态链接库&#xff08;DLL&#xff09;的方法_vc如何链接dll库-CSDN博客

创新入门|营销中的视频内容:不可或缺的策略

视频在营销中日益重要。你是否也发现,视频内容最近似乎无处不在?它占据着社交媒体的推文、网站首页,甚至电子邮件中的位置。事实上,并不是你一个人有这样的感受。在过去十年中,视频作为一种营销手段日益成熟和强大。这是因为,人类天生就是视觉动物。我们大脑处理视觉信息的速度…

基于EasyX的贪吃蛇小游戏 - C语言

游戏基本功能演示&#xff1a; 1.主菜单界面 2.自定难度界面 在这里可以自行设定游戏的难度&#xff0c;包括蛇的移动速度&#xff0c;初始节数&#xff0c;以及默认模式&#xff0c;参考线&#xff08;网格&#xff09;。这些设定的数据都会在右上角的游戏属性栏中实时显示。…

图解Mysql索引原理

概述 是什么 索引像是一本书的目录列表&#xff0c;能根据目录快速的找到具体的书本内容&#xff0c;也就是加快了数据库的查询速度索引本质是一个数据结构索引是在存储引擎层&#xff0c;而不是服务器层实现的&#xff0c;所以&#xff0c;并没有统一的索引标准&#xff0c;…

[AI资讯·0605] GLM-4系列开源模型,OpenAI安全疑云,ARM推出终端计算子系统,猿辅导大模型备案……

AI资讯 1毛钱1百万token&#xff0c;写2遍红楼梦&#xff01;国产大模型下一步还想卷什么&#xff1f;AI「末日」突然来临&#xff0c;公司同事集体变蠢&#xff01;只因四大聊天机器人同时宕机OpenAI员工们开始反抗了&#xff01;AI手机PC大爆发&#xff0c;Arm从软硬件到生态…