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

JProfiler 简要使用说明的更多相关文章

  1. CSDN CODE平台,中国版Github简要使用说明

    CSDN CODE平台,中国版Github简要使用说明!(多图慎入)   楼主说 以前一直看到别人在用github发布自己的代码,各种牛逼,各种羡慕嫉妒恨.最后终于受不了了,也去注册了一个,注册到没什 ...

  2. Kafka 简要使用说明

    Kafka 简要使用说明 参考文章 Kafka背景及架构介绍http://www.infoq.com/cn/articles/kafka-analysis-part-1 Apache kafka 工作 ...

  3. CSDN CODE平台,中国版Github简要使用说明!(多图慎入)

    楼主说 以前一直看到别人在用github发布自己的代码,各种牛逼,各种羡慕嫉妒恨.最后终于受不了了,也去注册了一个,注册到没什么难度.然后就没有然后了... 完全看不懂,不知道怎么用. 一次偶然的机会 ...

  4. JProfiler 教程 使用说明

    JProfiler    (本文原创转载请注明) 简介 JProfiler是一个重量级的JVM监控工具,提供对JVM精确监控,其中堆遍历.CPU剖析.线程剖析看成定位当前系统瓶颈的得力工具.可以统计压 ...

  5. supervisor简要使用说明

    安装方法(之一) pip install supervisor 主要组件 supervisord: 用于控制启用和退出子进程,记录子进程的标准输出和标准错误输出. supervisorctl: she ...

  6. tftp 简要使用说明

    yum 安装:tftp    tftp-server (2)启动tftp   CentOS 6 service xinetd restart chkconfig tftp on     CentOS ...

  7. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  8. 使用psftp.exe

    使用psftp.exe 点击打开psftp.exe,出现如下图的命令窗口.  

  9. Linux帮助手册(man)

    Linux的帮助文档 在我们使用Linux的过程中,都会遇到这样那样的问题,一般我们在计算机能连上网的情况下会进行百度或Google解决问题,但是并不是所有文题都能在网上很快得到答案.万一我们是在没有 ...

随机推荐

  1. keras各种优化方法总结 SGDmomentumnesterov

    http://blog.csdn.net/luo123n/article/details/48239963 前言 这里讨论的优化问题指的是,给定目标函数f(x),我们需要找到一组参数x,使得f(x)的 ...

  2. Windows自带的端口转发工具netsh使用方法_DOS/BAT

    Windows自带的端口转发工具netsh使用方法_DOS/BAT   作者:用户 来源:互联网 时间:2017-02-22 17:24:30 netsh 端口转发 摘要: 下面的代码在windows ...

  3. electron 大体结构

    1.Electron支持的平台: OS XWindowsLinux 2.一个标准的electron app包含的结构: Windows 或是 Linux中:electron/resources/app ...

  4. MySql的基本架构演变

    [MySql的基本架构演变] 没有并发的增长,也就没有必要做高可扩展性的架构. Scale-up :  纵向扩展,通过替换为更好的机器和资源来实现伸缩,提升服务能力 Scale-out : 横向扩展, ...

  5. C# split分割多个字符

    string[] myAgent = agentInfo.Split(new string[] { "$#$" }, StringSplitOptions.None);

  6. springboot+cxf 开发webservice

    参考 https://www.cnblogs.com/fuxin41/p/6289162.html pom.xml <?xml version="1.0" encoding= ...

  7. mysql中树形结构表的操作

    一种是:邻接表模型(局限性:对于层次结构中的每个级别,您需要一个自联接,并且随着连接的复杂性增加,每个级别的性能自然会降低.在纯SQL中使用邻接列表模型充其量是困难的.在能够看到类别的完整路径之前,我 ...

  8. php去除bom

    <?php /*检测并清除BOM*/ if(isset($_GET['dir'])){ $basedir=$_GET['dir']; }else{ $basedir = '.'; } $auto ...

  9. ECMAScript6新特性之Array API

    一 填充数组 var arr = new Array(5); arr.fill('abc',2,4); console.log('Array.prototype.fill',arr); // [und ...

  10. iOS 网络请求中的空类型字符串转换

    创建一个工具类,   .h: #import <Foundation/Foundation.h> @interface MySetNullWithStrTool : NSObject +( ...