环境

  • JProfiler 17.1.3(IDEA插件)
  • JProfiler 9.2(可执行软件)
  • IntelliJ IDEA 2017.2.5

下载

下载JProfiler(IDEA)插件

方式1:

在IDEA上直接下载Settings–plugins–Browse repositories



搜索JProfiler 点击 install 按钮安装,然后从启IDEA工具



看到如下图片则说明安装完成

方式2:

官网下载插件,手动安装

在首页向下翻,中部位置能看到JProfiler最新版本,包括历史版本下载链接,本教程中我们选择17.1.3版本。点击DOWNLOAD进行下载。

JProfiler官方下载地址



把从下载的压缩包解压出来的JProfiler文件夹,copy到IDEA自定义插件目录,默认路径:C:\Users\Administrator.IntelliJIdea2017.2\config\plugins

从启IDEA看到如下图标则安装成功:

关于IDEA的使用可以看教程IntelliJ IDEA 使用初、中、高级详细教程

安装

安装JProfiler监控软件

官方下载地址

右上角可以选择要下载版本



注: 本教程选择的版本是9.2

下载完双击运行,选择自定义目录安装,点击Next

选择安装路径,建议选择一个文件名中没有中文,没有空格的路径因为如果改手动启动时,空格识别不了。然后一直点Next

配置

配置IDEA运行环境

Settings–Tools–JProflier–JProflier executable选择JProfile安装可执行文件。(如果系统只装了一个版本,启动IDEA时会默认选择)保存

选择你要分析的项目,点击JProfiler图标启动。

启动完成会自动弹出JProfiler窗口,在里面就可以监控自己的代码性能了。

至此IDEA中配置JProfiler做性能分析就完成了!

扩展

配置JRebel和JProfiler同时运行

有些人在IDEA中配置了JRebel热部署,要想JRebel和JProfiler同时运行,就要改手动管理JProfiler session了。

方式1:

通过点击tomcat的启动脚本启动

在要分析的tomcat启动脚本catalina.bat中增加一行。

  1. set CATALINA_OPTS=-agentpath:D:\service\jprofiler9\bin\windows-x64\jprofilerti.dll=port=8849,nowait,id=80,config=C:\Users\Administrator\.jprofiler9\config.xml %CATALINA_OPTS%

方式2:

通过Idea JRebel 启动

在IDEA Run/Debug Configurations窗口JRebel Debug中配置Environment Variables属性。

  1. CATALINA_OPTS=-agentpath:D:\service\jprofiler9\bin\windows-x64\jprofilerti.dll\=port\=8849,nowait,id\=81,config\=C:\Users\Administrator\.jprofiler9\config.xml

启动JRebel

看到控制台如下信息,说明JRebel和JProfiler都启动了。

  1. JProfiler> Protocol version 55
  2. JProfiler> Using JVMTI
  3. JProfiler> JVMTI version 1.1 detected.
  4. JProfiler> Don't wait for frontend to connect.
  5. JProfiler> 64-bit library
  6. JProfiler> Using config file C:\Users\Administrator\.jprofiler9\config.xml (id: 80)
  7. JProfiler> Listening on port: 8849.
  8. JProfiler> Instrumenting native methods.
  9. JProfiler> Can retransform classes.
  10. JProfiler> Can retransform any class.
  11. JProfiler> Native library initialized
  12. 2018-02-05 17:55:02 JRebel:
  13. 2018-02-05 17:55:02 JRebel: A newer version '7.1.5' is available for download
  14. 2018-02-05 17:55:02 JRebel: from http://zeroturnaround.com/software/jrebel/download/
  15. 2018-02-05 17:55:02 JRebel:
  16. Connected to the target VM, address: '127.0.0.1:61805', transport: 'socket'
  17. JProfiler> VM initialized
  18. 2018-02-05 17:55:02 JRebel: Contacting myJRebel server ..
  19. JProfiler> Using dynamic instrumentation
  20. JProfiler> Time measurement: elapsed time
  21. JProfiler> CPU profiling enabled
  22. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  23. 信息: Server version: Apache Tomcat/7.0.64
  24. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  25. 信息: Server built: Aug 19 2015 17:18:06 UTC
  26. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  27. 信息: Server number: 7.0.64.0
  28. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  29. 信息: OS Name: Windows 7
  30. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  31. 信息: OS Version: 6.1
  32. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  33. 信息: Architecture: amd64
  34. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  35. 信息: Java Home: D:\service\Java\jdk1.8.0_101\jre
  36. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  37. 信息: JVM Version: 1.8.0_101-b13
  38. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  39. 信息: JVM Vendor: Oracle Corporation
  40. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  41. 信息: CATALINA_BASE: C:\Users\Administrator\.IntelliJIdea2017.2\system\tomcat\Unnamed_Service-ALL_7
  42. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  43. 信息: CATALINA_HOME: D:\service\tomcat\Service-tomcat-7.0.64
  44. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  45. 信息: Command line argument: -Drebel.base=C:\Users\Administrator\.jrebel
  46. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  47. 信息: Command line argument: -Drebel.env.ide.plugin.version=7.1.4
  48. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  49. 信息: Command line argument: -Drebel.env.ide.version=2017.2.5
  50. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  51. 信息: Command line argument: -Drebel.env.ide.product=IU
  52. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  53. 信息: Command line argument: -Drebel.env.ide=intellij
  54. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  55. 信息: Command line argument: -Drebel.notification.url=http://localhost:17434
  56. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  57. 信息: Command line argument: -agentpath:C:\Users\Administrator\.IntelliJIdea2017.2\config\plugins\jr-ide-idea\lib\jrebel6\lib\jrebel64.dll
  58. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  59. 信息: Command line argument: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:61805,suspend=y,server=n
  60. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  61. 信息: Command line argument: -Dfile.encoding=UTF-8
  62. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  63. 信息: Command line argument: -Dcom.sun.management.jmxremote=
  64. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  65. 信息: Command line argument: -Dcom.sun.management.jmxremote.port=1099
  66. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  67. 信息: Command line argument: -Dcom.sun.management.jmxremote.ssl=false
  68. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  69. 信息: Command line argument: -Dcom.sun.management.jmxremote.authenticate=false
  70. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  71. 信息: Command line argument: -Djava.rmi.server.hostname=127.0.0.1
  72. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  73. 信息: Command line argument: -Djava.util.logging.config.file=C:\Users\Administrator\.IntelliJIdea2017.2\system\tomcat\Unnamed_Service-ALL_7\conf\logging.properties
  74. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  75. 信息: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
  76. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  77. 信息: Command line argument: -agentpath:D:\service\jprofiler9\bin\windows-x64\jprofilerti.dll=port=8849,nowait,id=80,config=C:\Users\Administrator\.jprofiler9\config.xml
  78. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  79. 信息: Command line argument: -Djava.endorsed.dirs=D:\service\tomcat\Service-tomcat-7.0.64\endorsed
  80. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  81. 信息: Command line argument: -Dcatalina.base=C:\Users\Administrator\.IntelliJIdea2017.2\system\tomcat\Unnamed_Service-ALL_7
  82. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  83. 信息: Command line argument: -Dcatalina.home=D:\service\tomcat\Service-tomcat-7.0.64
  84. 二月 05, 2018 5:55:04 下午 org.apache.catalina.startup.VersionLoggerListener log
  85. 信息: Command line argument: -Djava.io.tmpdir=D:\service\tomcat\Service-tomcat-7.0.64\temp
  86. 二月 05, 2018 5:55:04 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
  87. 信息: Loaded APR based Apache Tomcat Native library 1.1.33 using APR version 1.5.1.
  88. 二月 05, 2018 5:55:04 下午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
  89. 信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
  90. 2018-02-05 17:55:06 JRebel: Starting logging to file: C:\Users\Administrator\.jrebel\jrebel.log
  91. 2018-02-05 17:55:06 JRebel:
  92. 2018-02-05 17:55:06 JRebel: #############################################################
  93. 2018-02-05 17:55:06 JRebel:
  94. 2018-02-05 17:55:06 JRebel: JRebel Agent 7.1.4 (201712200830)
  95. 2018-02-05 17:55:06 JRebel: (c) Copyright ZeroTurnaround AS, Estonia, Tartu.
  96. 2018-02-05 17:55:06 JRebel:
  97. 2018-02-05 17:55:06 JRebel: Over the last 16 days JRebel prevented
  98. 2018-02-05 17:55:06 JRebel: at least 117 redeploys/restarts saving you about 0 hours.
  99. 2018-02-05 17:55:06 JRebel:
  100. 2018-02-05 17:55:06 JRebel: Licensed to wenyuan hou (using myJRebel).
  101. 2018-02-05 17:55:06 JRebel:
  102. 2018-02-05 17:55:06 JRebel:
  103. 2018-02-05 17:55:06 JRebel: #############################################################
  104. 2018-02-05 17:55:06 JRebel:

点击jprofiler.exe

执行菜单Session–Integr ation Wizards–New Server Integration



选择tomcat容器版本(7.X)



选择是本地测试还是远程测试(本处选本地)



选择虚拟机的类型



选择Web容器是否和Jprofiler一起运行(我们使用JRebel启动,所以选择第二个)



选择tomcat启动脚本



选择端口号默认就行

然后一直Next,最后成功。

完成!

原文地址:https://blog.csdn.net/wytocsdn/article/details/79258247

Intellij IDEA集成JProfiler性能分析神器的更多相关文章

  1. Java性能分析神器--VisualVM Launcher[1]

    Java性能分析神器1--VisualVM Launcher VisualVM 当你日复一日敲代码的时候,当你把各种各样的框架集成到一起的时候,看着大功告成成功运行的日志,有没有那么一丝丝迷茫和惆怅: ...

  2. 性能分析神器VisualVM【转】

    性能分析神器VisualVM[转] Posted on 2015-04-17 09:37 WadeXu 阅读(5809) 评论(6) 编辑 收藏 VisualVM 是一款免费的,集成了多个 JDK 命 ...

  3. Java性能分析神器-JProfiler详解(一)(转)

    前段时间在给公司项目做性能分析,从简单的分析Log(GC log, postgrep log, hibernate statitistic),到通过AOP搜集软件运行数据,再到PET测试,感觉时间花了 ...

  4. Java性能分析神器-JProfiler详解(转)

    前段时间在给公司项目做性能分析,从简单的分析Log(GC log, postgrep log, hibernate statitistic),到通过AOP搜集软件运行数据,再到PET测试,感觉时间花了 ...

  5. 性能分析神器VisualVM

    VisualVM 是一款免费的,集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃圾回 ...

  6. 性能测试三十八:Java性能分析神器-JProfiler安装和简单介绍

    Jprofiler是一个重量级的工具,需要分别在服务器和windows都装客户端,会损耗性能,用于发现问题后排查问题,而不是常规的监控 JPROFILER工具下载地址:http://www.ej-te ...

  7. JProfiler性能分析工具

    1.简介 JProfiler是一个商业授权的Java剖析工具,用于分析Java EE和Java SE应用程序. 2.JVMTI JDK本身定义了目标明确并功能完善的JNI(Java Native In ...

  8. IntelliJ IDEA集成JProfiler,入门教程

    说明: JProfiler是用于分析J2EE软件性能瓶颈并能准确定位到Java类或者方法有效解决性能问题的主流工具,它通常需要与性能测试工具如:LoadRunner配合使用,因为往往只有当系统处于压力 ...

  9. Node.js性能分析神器Easy-Monitor

    摘要: 使用Easy-Monitor,可以准确定位Node.js应用的性能瓶颈,帮助我们优化代码性能. 当应用出现性能问题时,最大的问题在于:如何准确定位造成性能瓶颈的代码呢?对于Node.js开发者 ...

随机推荐

  1. netty 聊天室

    https://blog.csdn.net/qq_37372007/article/details/82937584 使用netty实现一个多人聊天室--failed: Error during We ...

  2. js往标签下插入标签的方法

    js="document.getElementsByClassName('CodeMirror-line')[0].innerHTML = 'xxxxxx'"dr.execute_ ...

  3. Linux -- 如何减少IO过程中的CPU copy

    四种I/O方式的对比 1. Buffered I/O read(file, tmp_buf, len); write(socket, tmp_buf, len); 上下文切换:4次 CPU copy: ...

  4. mariadb升级

    官方文档升级:https://mariadb.com/kb/en/library/upgrading/ 1.备份原来的数据库和配置文件 # mysqldump -u root -p -A > a ...

  5. python安装pip方法

    1.先下载pip安装脚本: https://bootstrap.pypa.io/get-pip.py 2.执行python get-pip.py 3.安装完成.

  6. (转)Flink简介

    1. Flink的引入 这几年大数据的飞速发展,出现了很多热门的开源社区,其中著名的有 Hadoop.Storm,以及后来的 Spark,他们都有着各自专注的应用场景.Spark 掀开了内存计算的先河 ...

  7. 浅谈service、DAO层引入(转)

    转自 http://www.4u4v.net/mvc-simple-enough-on-the-introduction-of-service-dao-layer.html MVC是web开发中常见的 ...

  8. 【leetcode_easy】598. Range Addition II

    problem 598. Range Addition II 题意: 第一感觉就是最小的行和列的乘积即是最后结果. class Solution { public: int maxCount(int ...

  9. 记EXSI虚拟机CentOS7断电无法启动修复过程

    参考:https://msd.misuland.com/pd/3148108429789233656 EXSI6.7安装虚拟机CentOS7.5 1804 断电后启动页面进度条很慢 最后出现如下提示 ...

  10. iOS-UIToolbar与UISearchBar

    组件_ UIToolbar  /** 1. 顶部toolbar 2. TextField可以以UIBarButtonItem的自定义视图的方式加入toolbar 3. 三个按钮 4. 将UIBarBu ...