JProfiler--性能调优分析工具

一、简介

百度百科上关于JProfiler词条的概要是:JProfiler是一个商业授权的Java剖析工具,由EJ技术有限公司,针对的Java EE和Java SE应用程序开发的。

JProfiler是由 ej-technologies GmbH 公司开发的一款可视化性能分析工具,在性能分析上,比起jvm自带的jstack,jstat,jmap等工具(openJDK不具备以上三款开发工具,需要自己再下载安装一个开发包),JProfiler直觉式的GUI更为直观,能通过图形化数据快速定位问题,省去了大量分析dump下来的内存文件所耗费的时间、精力。

在使用JProfiler前,需要安装服务端和客户端,下面进行测试。

JProfiler下载网站:https://www.ej-technologies.com/download/jprofiler/files

二、安装JProfiler服务端(Linux)

1. 下载服务端

进入网站,选择要下载的版本(各版本区别在上面选项卡选择“NEWS”自行查看,建议下载12版本以下进行玩耍,每个版本都有10天的试用期):
在这里插入图片描述
选择对应操作系统、位数的产品进行下载。

实验机的操作系统是CentOS7,64位,这里选择下图的最后一个,压缩版本(免安装):
在这里插入图片描述

2. 安装

将下载的文件拖进服务器,根据下载的文件不同,安装方式也不同:

(1)下载第一个 Setup Executable 可执行安装的朋友,在 /opt 目录下,新建 /JProfiler12(命名建议文件名+版本)文件夹,再把下载下来的sh文件拖到文件夹中,直接用sh命令执行下该文件即可(默认安装执行目录下)

(2)下载第二个 RPM 文件的朋友,按照(1)建目录,文件拖进来后使用命令 rpm -ivh filename.rpm 执行安装即可

(3)下载第三个压缩文件的朋友,直接拖动到 /opt 文件夹下,tar命令解压缩即可(tar -zxvf filename.tar.gz -C .),测试下载的是压缩版:
在这里插入图片描述

3. 配置

对tomcat启动监控分析,需要先在配置文件中添加参数。

(1)网上大多数的配置教程都配置了环境变量(/etc/profile)和catalina.sh、startup.sh文件(亲测可行):
在这里插入图片描述
(2)只在tomcat的jvm启动参数中添加一个代理路径(agentpath)参数也可以正常使用,其中port=后面的端口号可以根据需要进行更改(JAVA_OPTS="$JAVA_OPTS -agentpath:/opt/jprofiler12.0.3/bin/linux-x64/libjprofilerti.so=port=8849")

三、安装JProfiler客户端(windows)

下载跟服务端一样版本的安装包
在这里插入图片描述
下载可执行安装文件(双击,按提示安装)或者免安装压缩文件(直接解压)。

四、intellij idea配置JProfiler

直接在Plugins > Marketplace下载JProfiler插件,安装成功后idea会出现下面按钮,点击他启动:
在这里插入图片描述
初次启动需要指定客户端路径:
在这里插入图片描述

五、JProfiler的简单使用

(只涉及对服务器进行监控分析的使用)

1. 启动服务端

提要:我配置的tomcat服务启动端口为200,JProfiler监听端口设置了8849(默认)

根据 二3(2)进行配置之后,启动需要分析的tomcat服务器

(1)通过lsof命令可以发现tomcat服务没有直接启动
服务端口没有启动
(2)查看打印的日志可以发现,tomcat开启了8849端口监听,等待来自JProfiler GUI(JProfiler客户端)的指令
在这里插入图片描述

2. 启动客户端

(1)新建Remote Integration
在这里插入图片描述
选择远程服务器类型
在这里插入图片描述

根据服务器jvm环境进行配置
在这里插入图片描述

根据需要选择一种运行模式(常用第一种)
在这里插入图片描述
设置服务器IP
在这里插入图片描述

配置服务端JProfiler的安装目录
在这里插入图片描述

服务端监听端口
在这里插入图片描述
配置完成
在这里插入图片描述
服务已启动:
在这里插入图片描述
(2)选择一种启动模式
在这里插入图片描述

(3)简单使用
参考博客《性能监控(二)-Jprofiler内存分析

(4)支持快速定位问题方法

通过对代码问题导致内存冲高的测试用例的测试,调用问题api时,可以明显看到大量Double对象(循环中的Double.valueof()导致)
在这里插入图片描述
查看调用树,可以快速定位出问题的方法以及调用的函数(仅Instrumentation模式下可以使用该功能):
在这里插入图片描述

* 神秘机器

GITHUB地址:https://github.com/BadGuy-Darren/MysteryMachine.git

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大迪吃小迪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值