JProfiler性能分析工具详解

JProfiler是一个商业授权的Java剖析工具,用于分析Java EE和Java SE应用程序.

2.JVMTI

JDK 本身定义了目标明确并功能完善的JNI( Java Native Interface ) 与虚拟机直接进行交互,这些 API 能很方便的进行扩展,从而满足开发者各式的需求.

JVMTI( JVM Tool Interface) ,是JAVA虚拟机提供的本地接口,它是实现调度器以及其它Java运行测试与分析工具的基础.

*并不一定在所有的JDK提供商都有实现,但在主流的Oracle JDK、Open JDK上都有其实现.

*在开发的过程中一般是使用Agent的方式来使用JVMTI,通过调用JVMTI的函数,从JVM中得到当前的运行信息.

3.JProfiler内部模型

JProfiler性能分析工具详解

4.JProfiler数据采集的原理

JProfiler性能分析工具详解

1.用户在JProfiler GUI中下达监控命令( 对应用户的一个点击 ).

2.JProfiler GUI通过自身Socket的8849端口向位于JVM的JProfiler Agent发送监控指令.

3.JProfiler Agent收到指令后向JVMTI注册事件或执行相关的命令.

4.JVMTI根据事件和命令的类型返回相对应的数据( 线程状态、对象实例、CPU负荷、GC状态信息等)

5.JProfiler Agent从JVMTI中得到相应数据后将对其进行计算,最终通过Socket传输给JProfiler GUI中进行展示.

5.JProfiler的使用 5.1 安装

https://www.ej-technologies.com/download/jprofiler/files

*Window操作系统请安装9.X版本,输入激活码对软件进行激活. 

激活码:L-Larry_Lau@163.com#23874-hrwpdp1sh1wrn#0620 

*Linux操作系统无须激活

5.2 JProfiler与应用进行连接 1 与正在运行的JVM实例进行连接

Select from all local JVMs模式:将扫描本地所有正在运行的JVM实例

JProfiler性能分析工具详解

Attach to profiled JVM模式:选择本地或远程正在运行的JVM实例,远程被监控的机器一定要预先安装JProfiler.

JProfiler性能分析工具详解

*需指定远程服务器的JProfiler的通讯端口

2 启动一个新的JVM实例一并连接

JProfiler性能分析工具详解

*需要指定程序的启动类( 包含main方法的类 )

3 与Server进行集成( 需与服务捆绑 )

步骤一:Session-->Integration Wizards-->New Server Integration

JProfiler性能分析工具详解

步骤二:选择应用服务器的类型以及版本号

JProfiler性能分析工具详解

步骤三:选择与本地或远程服务器的服务进行集成

JProfiler性能分析工具详解

*本文将使用远程服务器模式.

*选择与远程服务器的服务进行集成则需要选择远程服务器的操作系统类型.

步骤四:选择服务器使用的JVM供应商以及版本号 

JProfiler性能分析工具详解

步骤五:选择JProfiler的启动模式

JProfiler性能分析工具详解

Wait for JProfiler GUI模式

JVM将等待JProfiler Agent接收到JProfiler GUI发送的配置信息后再进行启动( 即Lauch Type连接模式 ,启动一个新的JVM实例)

Prepare for profling模式

立即启动JVM,稍后再与JProfiler GUI进行连接并向JProfiler Agent发送配置信息( 数据的采集方式、过滤器、触发器等信息 )

*若使用此模式则需要让JVM在启动时自动加载JProfiler Agent,因此需要在startup.bat/startup.sh文件中添加命令

startup.bat:set CATALINA_OPTS=-agentpath:{JProfiler安装目录}\bin\windows-x64\jprofilerti.dll=port=8849,nowait %CATALINA_OPTS%

startup.sh:CATALINA_OPTS=-agentpath:/{JProfiler安装目录}/bin/linux-x64/libjprofilerti.so=port=8849,nowait $CATALINA_OPTS

export CATALINA_OPTS

Profile Offine模式

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/7b4857b8f595c13ae89a0244871c52c8.html