1、简介

JProfiler是一个ALL-IN-ONE的JAVA剖析工具,可以方便地监控Java程序的CPU、内存使用状况,能够检查垃圾回收、分析性能瓶颈。

本说明文档基于JProfiler 9.2编写。

2、安装

安装包:JProfiler_windows-x64_9_2.exe (JProfiler 9注册码.txt

如果要监控的远端服务器操作系统不同,在Select Component这步,可以选择安装不同系统的Native libraries for profiling agent。

如果要为Eclipse安装JProfiler插件,到安装插件的步骤时,选择当前Eclipse版本,再指定Eclipse路径即可。

3、启用本机监控

1、首先启动希望监测的Java进程,这里以我们的服务端为例。

2、打开JProfiler,选择菜单 Session - Start Center,切换到 Quick Attach 标签页。这里列出了当前本机上正在运行所有的Java进程,选择要监测的进程,按 Start 开始。

3、接下来的弹框中可以选择Instrumentation和Sampling两种预置的Profiling设置,为了使用JProfiler的全部特性,建议选择Instrumentation。

4、还可以进行详细设置,一般直接OK即可。

4、监控数据

1、  概览(Telemetrie)

在Overview页中,可以看到当前监控的Java程序概况,包括内存、垃圾回收、类、线程、CPU负载等图表。

2、  内存(Live Memory)

在All Objects可以看到内存中各个对象的数量和占用情况。在Recorded Objects和Class Tracker中,还可以对不同的对象或类分别监控。

3、  CPU (CPU views)

在Call Tree页,可以按运行顺序逐级查看当前程序运行耗时。

在Hot Sports页,可以看到各个方法的执行时间和调用次数,可用于辅助分析性能。

4、  堆遍历器(Heap walker)

在Heap walker页,可以点击相机图标按钮记录Heap快照。建立快照后,可以详细分析静态内存中对象数量。还可以查看不同对象的引用计数。

5、  线程(Threads)

Thread History页可以看到当前各个线程的工作状况。

6、  数据库(Database)

在JDBC页,可以看到连接时间轴、查询用时等信息。

在JPA/Hibernate页,可以获取到和数据库查询有关的Call Tree和Hot Spots。

5、数据导出

如图所示,Export能够将当前页的信息导出为HTML页面或XML数据。

根据当前处在不同的页面,最后还会有不同的项目,比如线程页可以选择Thread Dump。

6、参考文档

官方文档: http://resources.ej-technologies.com/jprofiler/help/doc/

一篇JProfiler笔记: http://blog.csdn.net/chendc201/article/details/22897999

内存泄漏相关:https://www.evvvvvvget.com/article/2013/5/22/18963.html

远程监控相关:http://stackoverflow.com/questions/12215487/remote-profiling-jprofiler

最新文章

  1. Jmeter MySQL数据库性能测试
  2. laravel安装学习步骤
  3. java 常见dos命令
  4. Java 项目JDBC 链接数据库中会出现的错误
  5. jquery学习笔记----jquery相关的文档
  6. 通信原理实践(一)——音频信号处理
  7. Mac OS X 背后的故事
  8. Maven3路程(三)用Maven创建第一个web项目(1)
  9. IOS开发-图片尺寸
  10. 控件构造函数需要的AOwner是TComponent,而不是Parent
  11. 第三方账号登录--QQ登录,以及QQ微博账号登录
  12. Hadoop 2.x(YARN)安装配置LZO
  13. Eclipse将引用了第三方jar包的Java项目打包成jar文件
  14. 开发中使用Gson的实例(时间格式错误解决方法)
  15. [WC 2010]重建计划
  16. 【一天一道LeetCode】#95. Unique Binary Search Trees II
  17. Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!
  18. 编译原理 #02# 简易递归下降分析程序(js实现)
  19. 备忘:移植ucos-III到stm32f103c8t6
  20. Linux说明书 - man浅谈

热门文章

  1. cmd 获取 拖拽文件名
  2. jQuery源码解读一
  3. ispostback的使用
  4. javascript基础代码
  5. 【校招面试 之 C/C++】第18题 C++ 中的隐式转换以及explicit关键字
  6. 移动端bug之解决方式
  7. Java一个文件上传工具类
  8. OSGi 系列(七)之服务的监听、跟踪、声明等
  9. 创建WRAPPER时, SQL20076N 未对指定的操作启用数据库的实例。
  10. 前端之css语法3