Showing posts with label performance. Show all posts
Showing posts with label performance. Show all posts

Wednesday, January 14, 2009

推荐十个最好的Java性能故障排除工具

更多精彩请到 http://www.139ya.com


转自: 推荐十个最好的Java性能故障排除工具: http://www.javaeye.com/news/2943-ten-of-the-best-java-performance-troubleshooting-tool

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平台,看看下面:

. HPjmeter
1. 确定和诊断在HP-UX上运行的java 应用程序的问题;
2. 监察正在运行的java应用程序和分析切面数据;
3. 捕捉剖面数据与零制备时,使用JDK / JRE的5.0.04或更高;
4. 在HP - UX , Linux和Windows 系统上运行HPjmeter控制台;
5. 改善垃圾回收机制的表现。

.HPjconfig
是为调整您的HP-UX 11i HPIntegrity Itanium? 和HP 9000 PA-RISC系统核心参量的Java配置工具,匹配您的应用的特征。 HPjconfig为专门制作您的HP-UX硬件工作台提供核心参量推荐。他提供了保持和还原的功能,根据您的客户的需要提供适合的建议,考虑到具体的 Java和HP - UX的版本问题,HPjconfig决定所有最新的HP - UX的修补程序所需的Java性能和功能在系统上安装,并提示出所有遗失或取代补丁。

.Java Out-of-Box Tool
一个独立的捆绑安装时将安装启动( RC )的脚本,修改核心参量,重建核心和重新起动系统。 在启动期间,启动脚本将修改系统tunables,因而为Java提供更好的“Out of The Box”行为。

使用JRockit Mission Control监控Java程序运行性能

更多精彩请到 http://www.139ya.com

使用JRockit Mission Control监控Java程序运行性能: http://blog.csdn.net/shendl/archive/2007/06/22/1661975.aspx

BEA的JRockit JDK是BEA公司自己开发的JDK。使用JRockit JDK运行Java程序,就可以使用Mission Control程序监控Java程序的运行情况。

使用BEA的JRockit Mission Control可以查看Java程序在运行时的各种指标。可以帮助你找到Java程序的性能瓶颈和引起问题的是哪些类。从而帮助我们提高Java程序的性能。

一、JRockit JDK

1,安装JRockit JDK。安装完毕后,cmd中执行java –version

可以看到现在执行java实际使用的是JRockit的JDK。

2,有些启动Java程序的方式,使用的是操作系统的配置来查找JDK的。如Ant就是这样查找JDK的。

因此,需要修改操作系统变量的配置。

JAVA_HOME=JRockit JDK的安装目录

二、Mission Control程序

内存泄漏和JRA记录这2个功能,需要付费。也可以下载免费的license文件,可以使用1个小时。

1,首先启动Mission Control程序,在Discovered->Local下,下面是进程号和各个JRockit下启动的Java进程。

2,然后启动要测试的Java程序,现在,我们看到的新增的一个进程,就是了。

3,右击Start Console,可以看到该Java进程的CPU和内存占用情况。

注意,Java堆的内存占用要比操作系统的任务管理器中该Java进程的内存占用低很多。而且,使用Mission Control监控java进程,也会大大增加该进程的内存占用。



三、通过指定Java程序使用的网络端口来使用Mission Control程序监控Java程序

1,使用jvm的参数,可以指定Java程序使用的端口,来使用Mission Control程序监控该Java程序。

如:

java -Xmanagement -Dcom.sun.management.jmxremote.port=7091 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

这样来启动一个要监控的Java程序。

这指定了使用7091端口来启动该java程序。(7091是Mission Control程序的向导默认使用的端口,我们可以使用任意的其他端口)



2,启动Mission Control程序,点击Connectors,新建一个连接。

修改该程序的主机和使用的端口为要监控的程序所在的位置和使用的端口即可。

完成后,就可以像上面那样使用进程的方式来监控该Java程序的运行情况了。



四、Ant任务如何使用JVM参数启动java程序









Ant的任务下有一个元素可以指定要使用的JVM参数。其中,使用value属性来保存JVM参数。

注意,其中不是使用空格来分隔JVM参数的,而是使用“,”来分隔多个JVM参数的。

Java 调优链接

更多精彩请到 http://www.139ya.com

工具:

JROCKIT MISSION CONTROL简略介绍: http://www.xue163.com/html/200872/679606.html
BEA WebLogic JRockit 与英特尔架构开放源代码平台: http://www.intel.com/cd/ids/developer/apac/zho/dc/xeon/reference/274997.htm?page=1


WebSphere监控软件 TPV(Tivoli Performance Viewer)的缺点: http://whereq.blogspot.com/2009/01/websphere-tpvtivoli-performance-viewer.html

JProfile 介绍: http://marshal.javaeye.com/blog/139532

JProbe 介绍: http://carrot.javaeye.com/blog/223563

性能测试-TPTP篇: http://blog.csdn.net/vircomagice/archive/2006/09/16/1231993.aspx