1.jconsole是随着JDK 1.5而推出的。这是一个Java监测和管理控制台-JMX兼容的图形工具来监测Java虚拟机。它能够同时监测本地和远程的JVMs。详情可查看:jconsole工具介绍
2.VisualVM 集成了几个现有的JDK软件工具,轻量级内存和CPU信息概要能力。这个工具被设计为同时在生产和开发时使用,进一步提高监视的能力和Java SE平台的性能分析能力。
3.HeapAnalyzer 能够通过它采用启发式搜索引擎和分析Java堆栈存储信息发现可能的Java堆栈泄漏区域,它通过解析Java堆栈存储信息,创建定向图表,变换他们成定向树和执行启发式搜索引擎。
4.PerfAnal 是在Java 2平台上为了分析应用表现的一个基于GUI的工具。您能使用PerfAnal的辩认性来查找出您需要调整的代码。
5.JAMon 是一个免费,简单,高性能,安全,允许开发者容易地监测生产应用程序的Java API。
6.Eclipse Memory Analyzer 是帮助您发现内存泄漏和减少记忆消耗量的一台快速和功能丰富的Java堆分析仪。
7.GCViewer 一个免费开源工具,使用Java VM属性-verbose:gc 和-Xloggc生成可视化数据。它也计算垃圾收集相关的性能指标(生产量、积累停留、最长的停留等等)。
如果您正在运行您的应用程序在HP - UX平台,看看下面:
8. HPjmeter
1). 确定和诊断在HP-UX上运行的java 应用程序的问题;
2.) 监察正在运行的java应用程序和分析切面数据;
3.) 捕捉剖面数据与零制备时,使用JDK / JRE的5.0.04或更高;
4.) 在HP - UX , Linux和Windows 系统上运行HPjmeter控制台;
5.) 改善垃圾回收机制的表现。
9.HPjconfig
是 为调整您的HP-UX 11i HPIntegrity Itanium? 和HP 9000 PA-RISC系统核心参量的Java配置工具,匹配您的应用的特征。 HPjconfig为专门制作您的HP-UX硬件工作台提供核心参量推荐。他提供了保持和还原的功能,根据您的客户的需要提供适合的建议,考虑到具体的 Java和HP - UX的版本问题,HPjconfig决定所有最新的HP - UX的修补程序所需的Java性能和功能在系统上安装,并提示出所有遗失或取代补丁。
10.Java Out-of-Box Tool
一个独立的捆绑安装时将安装启动( RC )的脚本,修改核心参量,重建核心和重新起动系统。 在启动期间,启动脚本将修改系统tunables,因而为Java提供更好的“Out of The Box”行为。
FProfiler
JRat
EJP
JMemProf
P6Spy
SQL Profiler
IronEye SQL
JMP
*J
JAMon
NetBeans Profiler
JTreeProfiler
JUnitPerf
Cougaar Memory Profiler
Atlassian Profiling
InfraRED
JBossProfiler
JIP
1.交互性,允许你在JVM运行过程中随时启动或结束剖析器而hprof是在程序启动时就开启JVM退出时结束。
2. 没有本地代码,大部分剖析器都有一些本地组件(native component)因为这些剖析器使用了需要利用本地组件的JVMPI (Java Virtual Machine Profiling Interface),而JIP是纯Java的,它利用了Java5™的一些特性。JIP对需要剖析的每一个类的每一个方法添加aspect拦截,这些 aspect能够捕获执行数据。
3.非常低的开销,在很多情况下hprof将会造成一个程序运行变慢20倍,而JIP是轻量级的几乎没有任何开销。
4.JIP能够通过package/class名设置过滤器
Jwebap
1)基于ASM实现类的静态增强,可以无缝的部署于J2EE系统,对系统的开销几乎可以忽略
2) 部署和使用非常的简单,整个Jwebap的部署只需要部署jwebap_core_**.jar以及需要使用的各种plugin_**.jar,然后配置 jwebap.xml和web.xml就可以完成所有的部署,比起绝大多数的profiling容易的多。 同时Jwebap提供Web Console进行整个Jwebap的管理和数据展现。在API层提供一套默认的视图框架供plugin开发者使用,可以只用Jar包就开发出相当漂亮的 Web界面。
3)Jwebap的开发分为两个部分Jwebap-core部分,Jwebap-plugin部分。core部分基于jdk14提 供了类静态增强,轨迹生命管理,Plugin管理,视图框架等等,在这个基础上开发plugin。我觉得,好的profiling应该能够根据不同的人群 按需使用,同时在功能不断复杂和强大的过程中仍然能够保证较轻的架子。

VisualVM

Perf4J
Perf4J提供的功能包括:

Perfmon4j
jSonde

JavaMelody

Basher
CheckThread

JVM Monitor
BTrace
Profiler4j
Caliper
Java运行时间测量:JETM
org.inmemprofiler
利用 Java 代码,即 java.lang.instrument 做动态 Instrumentation 是 Java SE 5 的新特性,它把 Java 的 instrument 功能从本地代码中解放出来,使之可以用 Java 代码的方式解决问题。使用 Instrumentation,开发者可以构建一个独立于应用程序的代理程序(Agent),用来监测和协助运行在 JVM 上的程序,甚至能够替换和修改某些类的定义。有了这样的功能,开发者就可以实现更为灵活的运行时虚拟机监控和 Java 类操作了,这样的特性实际上提供了一种虚拟机级别支持的 AOP 实现方式,使得开发者无需对 JDK 做任何升级和改动,就可以实现某些 AOP 的功能了。
在 Java SE 6 里面,instrumentation 包被赋予了更强大的功能:启动后的 instrument、本地代码(native code)instrument,以及动态改变 classpath 等等。这些改变,意味着 Java 具有了更强的动态控制、解释能力,它使得 Java 语言变得更加灵活多变。