JVM分析工具JProfiler介绍及安装

这篇具有很好参考价值的文章主要介绍了JVM分析工具JProfiler介绍及安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、什么是JProfiler?

二、JProfiler 功能结构 

1、分析代理

2、记录数据

3、快照

三、安装 

一、什么是JProfiler?

JProfiler是一个专业的工具,用于分析运行中的JVM内部发生的事情。当您的生产系统出现问题时,您可以在开发、质量保证和消防任务中使用它。
JProfiler主要处理四个主题:

  • 方法调用

这通常被称为“CPU评测”。方法调用可以通过不同的方式进行测量和可视化。方法调用的分析可以帮助您了解应用程序正在做什么,并找到提高其性能的方法。

  • 分配

分析堆上对象的分配、引用链和垃圾收集属于“内存分析”类别。此功能使您能够修复内存泄漏,通常使用较少的内存,并分配较少的临时对象。

  • 线程和锁

线程可以持有锁,例如通过对对象进行同步。当多个线程协作时,可能会发生死锁,JProfiler可以为您可视化它们。此外,锁可以被争用,这意味着线程必须等待才能获取它们。JProfiler提供了对线程及其各种锁定情况的深入了解。

  • 更高级别的子系统

许多性能问题发生在更高的语义级别上。例如,对于JDBC调用,您可能想要找出哪条SQL语句是最慢的。对于这样的子系统,JProfiler提供了将特定有效载荷附加到调用树的“探测器”。
JProfiler的UI是作为桌面应用程序提供的。您可以在不使用UI的情况下以交互方式评测实时JVM或自动评测。评测数据持久化在快照中,这些快照可以使用JProfiler UI打开。此外,命令行工具和构建工具集成可帮助您自动化分析会话。

二、JProfiler 功能结构 

下面给出了所有重要交互的全貌,这些交互涉及概要应用程序、JProfiler UI和所有命令行实用程序。

JVM分析工具JProfiler介绍及安装,jvm专栏,jvm

1、分析代理

“JVM工具接口”(JVMTI)是一个本机接口,探查器使用它来访问信息并添加用于插入自己的检测的挂钩。这意味着分析代理的至少一部分必须实现为本机代码,因此JVM分析程序不是独立于平台的。JProfiler支持网站上列出的一系列平台。
JVM探查器被实现为在启动时或稍后某个时候加载的本机库。要在启动时加载它,将在命令行中添加VM参数-agentpath:<path To native library>。您很少需要手动添加这个参数,因为JProfiler会为您添加它,例如在IDE集成、集成向导中,或者如果它直接启动JVM。然而,重要的是要知道,这就是启用概要分析的原因。
如果JVM成功地加载了本机库,它会调用库中的一个特殊函数,为评测代理提供初始化自己的机会。然后,JProfiler将打印两条以JProfiler>为前缀的诊断消息,这样您就知道评测是活动的。最重要的是,如果您传递-agentpath VM参数,则分析代理要么成功加载,要么JVM没有启动。
加载后,概要分析代理会要求JVMTI收到各种事件的通知,例如线程创建或类加载。其中一些事件直接传递分析数据。使用类加载事件,分析代理在加载类时插入类,并插入自己的字节码来执行测量。
JProfiler可以通过使用JProfilerUI或使用bin/jpenable命令行工具。在这种情况下,可能需要重新转换大量已经加载的类,以便应用所需的工具。

2、记录数据

JProfiler代理只收集分析数据。JProfiler UI是单独启动的,并通过套接字连接到分析代理。这意味着,无论评测JVM是在本地机器上还是在远程机器上运行,这实际上都无关紧要——评测代理和JProfiler UI之间的通信机制始终相同。
从JProfiler UI,您可以指示代理记录数据,在UI中显示分析数据,并将快照保存到磁盘。作为UI的替代方案,可以通过其MBean来控制概要分析代理。使用此MBean的命令行工具是bin/jpcontroller。
控制评测代理的另一种方式是使用一组预定义的触发器和操作。通过这种方式,分析代理可以在无人参与模式下运行。这在JProfiler中被称为“离线评测”,对于自动化评测会话非常有用。

3、快照

虽然JProfiler UI可以显示实时评测数据,但通常需要保存所有记录的评测数据的快照。快照可以手动保存在JProfiler UI中,也可以通过触发操作自动保存。
快照可以在JProfiler UI中打开和比较。对于自动化处理,命令行工具bin/jpexport和bin/jpcompare可以用于从以前保存的快照中提取数据并创建HTML报告。
从运行中的JVM获取堆快照的一种低开销方法是使用bin/jpdump命令行工具。它使用JVM的内置功能来保存HPROF快照,该快照可以由JProfiler打开,并且不需要加载评测代理。 

三、安装 

下载:ej-technologies - Java APM, Java Profiler, Java Installer Builder

为Windows和Linux/Unix提供了可执行安装程序,引导您逐步完成安装。如果检测到以前的安装,则会简化安装。

JVM分析工具JProfiler介绍及安装,jvm专栏,jvm 在macOS上,JProfiler使用UI应用程序的标准安装过程:提供了一个DMG存档,您可以双击它安装在Finder中,然后您可以将JProfileer应用程序捆绑包拖动到/applications文件夹。该文件夹在DMG中作为符号链接可见。

JVM分析工具JProfiler介绍及安装,jvm专栏,jvm

 在Linux/Unix上,安装程序在下载后是不可执行的,所以在执行它们时必须预先加上sh。如果传递参数-c,安装程序将执行命令行安装。使用参数-q执行Windows和Linux/Unix的完全无人值守安装。在这种情况下,您可以传递额外的参数-dir<directory>来选择安装目录。

 JVM分析工具JProfiler介绍及安装,jvm专栏,jvm

 运行安装程序后,它将保存一个文件.install4j/response.varfile,其中包含所有用户输入。通过在命令行上传递参数-varfile<path to response.varfile>,您可以获取该文件并使用它来自动执行无人参与的安装。
要设置无人参与安装的许可信息,请将-Vjprofiler.licenseKey=<license-key>-Vjprofiler.licenseName=<username>和-Vjprofiller.licenseCompany=<companyName>作为命令行参数(可选)。如果您有浮动许可证,请使用FLOAT:<服务器名称或IP地址>而不是许可证密钥。
对于Windows,归档文件也以ZIP文件的形式提供,对于Linux,归档文件则以.tar.gz文件的形式。命令

tar xzvf filename.tar.gz

将把.tar.gz档案提取到一个单独的顶级目录中。要启动JProfiler,请在提取的目录中执行bin/JProfiler。在Linux/Unix上,文件jprofiler.desktop可用于将jprofiler可执行文件集成到窗口管理器中。例如,在Ubuntu上,您可以将桌面文件拖动到启动器侧栏中,以便创建一个永久的启动器项。

将分析代理分发到远程计算机
JProfiler有两个部分:一方面是桌面UI和操作快照的命令行实用程序,另一方面是评测代理和控制评测JVM的命令行应用程序。您从网站下载的安装程序和档案包含这两部分。
但是,对于远程评测,您只需要在远程端安装评测代理。虽然您可以在远程机器上使用JProfiler分发版简单地提取存档,但您可能希望限制所需文件的数量,尤其是在自动化部署时。此外,评测代理是可自由重新分发的,因此您可以将其与应用程序一起发货,也可以将其安装在客户机器上进行故障排除。
要获得带有评测代理的最小软件包,远程集成向导会向您显示相应代理存档的下载链接,以及包含所有受支持平台的代理存档文件的下载页面。在JProfiler GUI中,调用会话->集成向导->新建服务器/远程集成,选择“远程”选项,然后继续执行远程安装目录步骤。

JVM分析工具JProfiler介绍及安装,jvm专栏,jvm

 特定JProfiler版本的HTML概述页面的URL为:

https://www.ej-technologies.com/download/jprofiler/agent?version=13.0.7

单个代理存档的下载URL的格式为:

https://download.ej-technologies.com/jprofiler/jprofiler_agent_<platform>_13_0_7.<extension>

其中platform对应于bin目录中的代理目录名,扩展名在Windows上为zip,在macOS上为.tgz,在Linux/Unix上为.tar.gz。对于Linux,x86和x64组合在一起,因此对于Linux x64,URL为:

https://download.ej-technologies.com/jprofiler/jprofiler_agent_linux-x86_13_0_7.tar.gz

代理存档包含所需的本机代理库以及jpenable,jpdump和jpcontroller可执行文件。归档文件中的可执行文件只需要Java 6作为最低版本,而评测代理可用于Java 5或更高版本。
在远程计算机上提取代理存档后,您看到的子目录如下所述。它们是各自目标平台上完整JProfiler安装的子集。

JVM分析工具JProfiler介绍及安装,jvm专栏,jvm

 文章来源地址https://www.toymoban.com/news/detail-626014.html

到了这里,关于JVM分析工具JProfiler介绍及安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【jvm系列-09】垃圾回收底层原理和算法以及JProfiler的基本使用

    JVM系列整体栏目 内容 链接地址 【一】初识虚拟机与java虚拟机 https://blog.csdn.net/zhenghuishengq/article/details/129544460 【二】jvm的类加载子系统以及jclasslib的基本使用 https://blog.csdn.net/zhenghuishengq/article/details/129610963 【三】运行时私有区域之虚拟机栈、程序计数器、本地方法栈 https

    2023年04月22日
    浏览(35)
  • 学习笔记-JVM-工具包(JVM分析工具)

    常用工具 JDK工具 ① jps: JVM Process status tool:JVM进程状态工具,查看进程基本信息 ② jstat: JVM statistics monitoring tool : JVM统计监控工具,查看堆,GC详细信息 ③ jinfo:Java Configuration Info :查看配置参数信息,支持部分参数运行时修改 ④ jmap:Java Memory Map :分析堆内存工具,du

    2024年02月13日
    浏览(55)
  • Redis 专栏、JVM 专栏、RocketMQ 专栏、ZooKeeper 专栏文章导读

    欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术 的推送 发送 资料 可领取 深入理解 Redis 系列文章结合电商场景讲解 Redis 使用场景 、 中间件系列笔记 和 编程高频电子书 ! 文章导读地址:点击查看文章导读! 感谢你的关注! 下边这

    2024年02月02日
    浏览(30)
  • jvm-日志分析工具gcviewer的使用

    gcviewer是什么?     GCViewer是一个小工具,可以可视化Sun / Oracle、IBM、HP和BEA Java虚拟机生成的详细GC输出。它是在GNU LGPL下发布的自由软件。---官网翻译 gcviewer的使用 文章使用的配置 工具 环境或版本 idea 2021 系统 ios(mac) jdk 1.8 官网:https://github.com/chewiebug/GCViewer 下载:http

    2024年02月04日
    浏览(34)
  • JVM:性能监控工具分析和线上问题排查实践

    在日常开发过程中,多少都会碰到一些jvm相关的问题,比如: 内存溢出、内存泄漏、cpu利用率飙升到100%、线程死锁、应用异常宕机 等。 在这个日益内卷的环境,如何运用好工具分析jvm问题,成为每个java攻城狮必备的技能。所以白梦特意整理了 jdk自带分析工具的使用 ,以及

    2024年01月19日
    浏览(33)
  • 一文深度讲解JVM 内存分析工具 MAT及实践(建议收藏)

    1. 前言 熟练掌握 MAT 是 Java 高手的必备能力,但实践时大家往往需面对众多功能,眼花缭乱不知如何下手,小编也没有找到一篇完善的教学素材,所以整理本文帮大家系统掌握 MAT 分析工具。 本文详细讲解 MAT 众多内存分析工具功能,这些功能组合使用异常强大,熟练使用几

    2024年02月09日
    浏览(32)
  • jvm内存溢出排查(使用idea自带的内存泄漏分析工具)

    想分析堆内存溢出,一定在运行jar包时就写上参数 -XX:+HeapDumpOnOutOfMemoryError ,可以看我之前关于如何运行jar包的文章。若你没有写。可以写上参数,重启你的项目,等你的项目发生下一次堆内存溢出异常,在运行的同级文件夹,将产生类似这样一个文件 java_pid74935.hprof ,若你

    2024年02月09日
    浏览(45)
  • JVM-jvisualvm性能监控可视化工具使用与eden-s0-s1分配分析(三)

    目录 第一步:安装jvisualvm  第二步:安装VisualvmGc插件 方式一:jvisualvm工具直接下载安装 方式二:去官网下载导入安装 总结 第三步:idea安装VisualvM Launcher插件 第四步:演示young中eden、s0、s1垃圾回收过程 1、配置jvm堆大小  2、启动一个项目 3、打开jvisualvm 第五步:jvisualvm性

    2024年02月11日
    浏览(42)
  • Java开发分析工具 JProfiler的详细使用方法解析(附 JProfiler for Mac许可证秘钥)

    JProfiler   是一款功能强大的Java代码分析工具,JProfiler的直观UI可帮助您解决性能瓶颈,确定内存泄漏并了解线程问题且JProfiler   Mac破解版配置会话非常简单,第三方集成使得入门变得轻而易举,并且以自然的方式呈现数据分析。   当无法建立分析会话时,首先要做的是查

    2024年01月23日
    浏览(34)
  • 【JVM】JVM五大内存区域介绍

    目录  一、程序计数器(线程私有) 二、java虚拟机栈(线程私有) 2.1、虚拟机栈 2.2、栈相关测试 2.2.1、栈溢出 三、本地方法栈(线程私有) 四、java堆(线程共享) 五、方法区(线程共享) 六、实例演示         Java虚拟机在执行Java程序的过程中会把它所管理的内存划

    2024年02月15日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包