性能监控(一)-Jprofiler安装与使用

1.安装

1.先去官网下载11版本的软件
安装的时候,会提示下面的路径没有找到,原因是我们IDEA的路径和Jprofiler的默认插件路径不大一致,那么我们可以先把IDEA的路径改一下,如图:
在这里插入图片描述
在这里插入图片描述
2.安装完后,会在plugins里看到插件

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

3.IDEA配置软件启动

在这里插入图片描述

2.框架大致介绍

在这里插入图片描述

  • Profiled JVM:要分析的应用程序;
  • JProfiler GUI:分析工具;
  • JVMTI:JVM Tool Interface,是基于事件消息的系统,JProfiler agent可以注册不同的处理函数到不同的消息事件上;(线程的生命周期/类的加载/对象的分配/堆内存的实时信息/垃圾回收等等)
  • JProfiler agent:数据采集代理器,将采集好的信息保留在内存中进行,并统计好;
  • Socket 8849:传输数据或者指令,走的是tcp,意味着可以远程进行性能分析监控或操控(比如内存回收GC);
  • GUI Render:界面工具;

3.启动方式

1. Attach Mode:依附模式

可直接加载JProfiler Agent到本机正在运行的jvm中, 优点是很方便,缺点是一些特性不能支持。
如果选择Instrumentation数据采集方式,那么需要花一些额外时间来重写需要分析的class,这时,开启会慢一些;

2. Launch Mode:发行模式(完整模式)

在启动被分析的程序时,
(1) 先启动JVM,带上相关VM参数;
(2) 启动JProfiler Agent;
(3) JProfiler GUI将收集到的配置信息通过socket发送给JProfiler Agent;
(4) 收到这些信息后,被分析的程序才开始启动;

4.采集方式

  1. Sampling 取样:每隔一定时间(5ms)将每个线程栈及方法栈中的信息统计出来。优点是对应用的影响较小,缺点是一些数据/特性不能提供(例如:方法的调用次数);
  2. Instrumentation 指令:在class加载时,JProfiler会把相关的功能代码写入到需要分析的class中,对正在运行的JVM有一定影响。优点是功能完毕,但对要分析的应用影响较大,所以一般结合过滤器filter一起使用,如JRE中的class和framework的class都会过滤掉;
    在这里插入图片描述
    Sampling推荐模式,开销很低,是一种相对安全的模式,但是一些特性不支持;
    Instrumentation,指令模式下,所有特性都支持,比如方法调用次数和方法统计,但是良好的过滤器是非常必要的,否则会影响性能开销;
    注: JProfiler的绝大多数核心功能都依赖于方法调用来采集数据的。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值