JProfiler 简要使用说明
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 简要使用说明的更多相关文章
- CSDN CODE平台,中国版Github简要使用说明
CSDN CODE平台,中国版Github简要使用说明!(多图慎入) 楼主说 以前一直看到别人在用github发布自己的代码,各种牛逼,各种羡慕嫉妒恨.最后终于受不了了,也去注册了一个,注册到没什 ...
- Kafka 简要使用说明
Kafka 简要使用说明 参考文章 Kafka背景及架构介绍http://www.infoq.com/cn/articles/kafka-analysis-part-1 Apache kafka 工作 ...
- CSDN CODE平台,中国版Github简要使用说明!(多图慎入)
楼主说 以前一直看到别人在用github发布自己的代码,各种牛逼,各种羡慕嫉妒恨.最后终于受不了了,也去注册了一个,注册到没什么难度.然后就没有然后了... 完全看不懂,不知道怎么用. 一次偶然的机会 ...
- JProfiler 教程 使用说明
JProfiler (本文原创转载请注明) 简介 JProfiler是一个重量级的JVM监控工具,提供对JVM精确监控,其中堆遍历.CPU剖析.线程剖析看成定位当前系统瓶颈的得力工具.可以统计压 ...
- supervisor简要使用说明
安装方法(之一) pip install supervisor 主要组件 supervisord: 用于控制启用和退出子进程,记录子进程的标准输出和标准错误输出. supervisorctl: she ...
- tftp 简要使用说明
yum 安装:tftp tftp-server (2)启动tftp CentOS 6 service xinetd restart chkconfig tftp on CentOS ...
- Git学习笔记与IntelliJ IDEA整合
Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...
- 使用psftp.exe
使用psftp.exe 点击打开psftp.exe,出现如下图的命令窗口.
- Linux帮助手册(man)
Linux的帮助文档 在我们使用Linux的过程中,都会遇到这样那样的问题,一般我们在计算机能连上网的情况下会进行百度或Google解决问题,但是并不是所有文题都能在网上很快得到答案.万一我们是在没有 ...
随机推荐
- 深入MySQL用户自定义变量
一.到底MySQL的变量分哪几类? MySQL变量一共分为两大类:用户自定义变量和系统变量.如下: 用户自定义变量 局部变量 会话变量 系统变量 会话变量 全局变量 本文涉及的内容为用户自定义会话变量 ...
- 问题解决Android studio遇到 java.lang.OutOfMemoryError: GC app:transformClassesWithDexForDebug解决方法 以及gradle优化
http://blog.csdn.net/xiaoxing0828/article/details/52242090
- Spring RabbitMQ 延迟队列
一.说明 在实际业务场景中可能会用到延时消息发送,例如异步回调失败时的重发机制. RabbitMQ本身不具有延时消息队列的功能,但是可以通过rabbitmq-delayed-message-excha ...
- Go语言中cannot convert adminname (type interface {}) to type *: need type assertion的解决办法
解决的办法是把string(adminname)替换为adminname.(string).其它类型也是类似.
- intellij idea14 +svn配置
说明:使用TortoiseSVN客户端,安装时必须选择client tools,否则不会有svn.exe,也就不能支持intellij idea的svn插件,因为intellij idea是使用命令行 ...
- go语言中make和new的区别
make用于内建类型(map.slice 和channel)的内存分配.new用于各种类型的内存分配. 内建函数new本质上说跟其他语言中的同名函数功能一样:new(T)分配了零值填充的T类型的内存空 ...
- Linux跑火车,提升趣味性
實現跑火車[可陶冶情操,愉悦心情]##下载yum源[root@localhost ~]# wget http://mirror.centos.org/centos/7/extras/x86_64/P ...
- 二叉树中的最大路径和 · Binary Tree Maximum Path Sum
[抄题]: 给出一棵二叉树,寻找一条路径使其路径和最大,路径可以在任一节点中开始和结束(路径和为两个节点之间所在路径上的节点权值之和) [思维问题]: 不会写分合法 [一句话思路]: 用两次分治:ro ...
- 17-js 提交表单以及判空
js
- IIS6.0创建新网站后,浏览显示需输入用户名和密码
1.首先我们需要创建一个用于匿名访问的账号. 我的电脑右键,电脑管理->本地用户和组->用户->新用户 注意勾选(用户不能更改密码和密码永不过期这两项) 2.右键新创建的用户-& ...