Java性能分析工具

勤奋不是嘴上说说而已,而是实际的行动,在勤奋的苦度中持之以恒,永不退却。业精于勤,荒于嬉;行成于思,毁于随。在人生的仕途上,我们毫不迟疑地选择勤奋,她是几乎于世界上一切成就的催产婆。只要我们拥着勤奋去思考,拥着勤奋的手去耕耘,用抱勤奋的心去对待工作,浪迹红尘而坚韧不拔,那么,我们的生命就会绽放火花,让人生的时光更加的闪亮而精彩。

导读:本篇文章讲解 Java性能分析工具,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

概述

工欲善其事必先利其器,在Java开源世界里面,有无以计数的工具。

清单

排名靠前的使用得多一些。

MAT

Eclipse Memory Analyzer,Eclipse内存分析器是一个可以帮助你找到内存泄漏和减少内存损耗的Java堆分析器。它更适合作为一个分析Java堆栈和计算大小的工具集,也可以用于监测内存泄漏和反模式带来的内存损耗。

MAT使用笔记待更新。

GC Viewer

开源工具,可以对vmflags -verboase:gc-Xloggc:等Java VM选项产生的数据进行可视化分析。GC Viewer可以用于计算GC(垃圾回收)相关的性能数据记录,包括吞吐、累积暂停、最长时间的暂停等。当你想要通过改变生成大小和设置初始堆大小来调整某个特定应用的GC时,它尤其有用。

VisualVM

遵循模块化的架构思想。这意味着可以通过插件方便的进行扩展。允许你获取Java程序的详细信息,只要它在一个JVM上运行即可。生成的数据可以由JDK工具生成和读取,多个Java程序的所有数据和信息都可以很方便地进行查看,包括本地和远程的运行程序。同时可以保存JVM软件的数据快照,把数据保存在本地,方便以后进行查看或者和其他人一起分享。可以进行CPU性能分析、内存性能分析,进行GC(可以进行强制调用GC)、保存快照、类和方法消耗资源等。

参考jVisualVm监控实战

maintainJ

JProfiler

一个很好的Java性能分析工具。JProfiler集CPU、内存和线程性能分析于一体,可以用于分析性能瓶颈、内存泄漏、CPU 负载和解决线程相关的问题,并且支持本地性能分析(分析与JProfiler软件安装在同一台机的应用)和远程性能分析(它可以分析远程没有安装 JProfiler机器上的应用)

YourKit

安装时有一个选项,可以安装一个插件到我的IDE。安装后,运行应用程序,使用该插件,它会自动连接到YourKit。它有一个漂亮的用户界面可以查看到内存和CPU的监测,同时也可以看到请求的执行路径。

JProbe

安装并不是直接完成,需要对它进行配置。它采用类似JProfiler一样的设置。它会在你的Tomcat目录中生成启动脚本。可以通过脚本启动服务器并监听会话。它的界面包含有按钮和表格,其中可以看到内存的使用,但无法在进程中找到执行路径。

Spring Insight

听到TC Server有Spring Insight监控界面,安装完成后,并设置成TC Server的开发者版,然后部署应用程序在TC Server上。我查看Insight界面,它可以很好的监视类和方法,并能看到完成这个方法用了多少时间。我还能看到输入参数值,以及返回值。由于我的应用程序是基于Spring的,Spring Insight能够提供非常有用的数据。TC Server插件在IDE上的配置与Tomcat的配置类似。Spring Source工具套件就自带Spring Insight。

Profiler4J

一个专注于CPU性能分析的工具,友好的用户界面,支持远程性能分析,及动态修改配置。Profiler4j值得关注的特性有:基于动态字节码增强方式,表明它不需要任何本地的库和外部可执行文件支持。它完全由Java编写,可提供图形化的调用图形信息、调用树结构、内存监控和类列表,支持细粒度配置文件。

Java Interactive Profiler

JIP,一个用Java开发的高性能、低损耗性能分析器。使用JIP的开发者可以在VM运行时开启和关闭性能分析,并且可以过滤类和包、控制输出。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/142159.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!