JProfiler是一个重量级的JVM监控工具,提供对JVM精确监控,其中堆遍历、CPU剖析、线程剖析看成定位当前系统瓶颈的得力工具。可以统计压测过程中JVM的监控数据,定位性能问题。
JDK,JRE必须>=1.6
JDK安装教程参考https://blog.csdn.net/wumingxiaozei/article/details/95628747
官网下载地址 https://www.ej-technologies.com/download/jprofiler/files
百度网盘注册机下载地址:链接: https://pan.baidu.com/s/1GKSbbKW4aEc4HvhtXwvxwA 提取码: heb8
内网svn地址(包含注册机):svn://192.168.0.28/repositories/soft/JProfiler11.4.zip
IDE安装 未使用idea 具体可以参考 博客
官网文档:https://www.ej-technologies.com/resources/jprofiler/v/11.1/help/doc/main/profiling.html
1.双击 jprofiler.exe 打开JProfiler 打开注册码工具进行注册 激活 JProfiler 后 如下图(1)所示
图(1)
2.运行java程序 点击左上角StartCenter按钮(下图2中左上角按钮)
图(2)
可以看到项目入口以及对应的项目pid,选中要检测的的项目点击Start(图2红色箭头所指),注意:这个地方有个onothercomputer 红色框起来的地方 可以配置 连接其他cp来检测其他cp上的java进程
3.接着会出现如下图3 红色框所示两个选项 让我们选择JProfier采集方式
图(3)
- Sampling: 类似于样本统计, 每隔一定时间(5ms)将每个线程栈中方法栈中的信息统计出来。优点是对应用影响小(即使你不配置任何Filter,可参考下文核心功能),缺点是一些数据/特性不能提供(例如:方法的调用次数)
- Instrumentation: 在class加载之前,JProfier把相关功能代码写入到需要分析的class中,对正在运行的jvm有一定影响。优点: 功能强大,但如果需要分析的class多,那么对应用影响较大,一般配合Filter一起使用。所以一般JRE class和framework的class是在Filter中通常会过滤掉。
任意选择一个采集方式后点击OK后进入主面板如下图4中所示就表示已经启动成功
退出监测点击上图所示Detach按钮 程序界面左上角有个插头的图标 退出监测
打开JProfiler 点击如图所示onothercomputer
点击后出现如下图所示
本文这里是连接远程测试linux服务器选择SSH tunnel点击next
填上你要远程pc的信息点击next
去掉勾选点击OK
出现如下图所示
输入远程PC密码 点击OK
到这个界面就已经成功了 选择你要监测的项目点击OPEN
注意:连接如果没有找到你对应PC的jre地址会有个输入框让你填PC的jre 地址
一般在你jdk安装路径下 选择高于1.6版本的jre就可以了
例: /home/quant/env/jdk1.8.0_192/jre/