BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Java问题诊断工具VisualVM 1.3版发布

| 作者 崔康 关注 1 他的粉丝 发布于 2010年8月15日. 估计阅读时间: 3 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

VisualVM是一款免费的Java问题诊断工具,通过可视化的界面集成了JDK的各种诊断命令和轻量级的性能分析功能,适用于生产和开发环境。最近,VisualVM 1.3版发布,新增功能包括支持获取远程堆转储(Heap dump)和监控远程主机等,本文对其做一简要介绍。

VisualVM的基本功能包括获取线程转储、堆转储和进行性能分析,可以帮助相关人员诊断Java应用的各种问题,例如:

  • 线程转储,适用于分析性能问题,如Java应用的响应时间很高或者应用挂起,则可以通过线程转储查看运行时各种线程的状态,比如是否都在等待某个限制性关键资源。
  • 堆转储,适用于分析内存问题,比如诊断Java应用的泄露问题,通过获取和比较堆转储可以发现堆中各个对象的大小和数量变化情况,发现可疑的内存增长点。
  • 性能分析,顾名思义,用户可以查看哪些方法运行时间最长、调用次数最多等等,从而对应用做重构优化。

VisualVM面向的用户包括:

  • 应用开发人员:监控、分析和获取线程转储、查看堆转储
  • 系统管理员:监控和控制Java应用
  • Java应用用户:创建缺陷报告

对于VisualVM 1.3版来说,功能集、支持的操作系统和JDK都发生了变化。

新功能包括:

  • 将Sampler插件添加到核心工具集。
  • 支持获取远程堆转储。
  • 支持通过JMX应用监控远程主机。
  • 支持主机、应用、核心转储(coredump)和快照(snapshot)的定制排序。
  • 识别Clojure、Groovy、 JRuby、Jython和Scala的运行时系统。

支持的操作系统:

  • Microsoft Windows (7, Vista, XP, Server): 32bit & 64bit
  • Linux: Intel platform, 32bit & 64bit
  • Sun Solaris: Intel & Sparc platform, 32bit & 64bit
  • Mac OS X: Intel platform, 32bit & 64bit
  • HP-UX 11i: PA-RISC platform, 32bit & 64bit

适用的JDK版本:

  • Oracle/Sun JDK 6+
  • OpenJDK 6+
  • IcedTea 6+
  • Apple JDK 6+
  • HP-UX JDK 6.0.01+

VisualVM除了基本功能之外,还有一个强大的插件机制,用户可以根据需要配置已有插件或者定制开发自己的插件,比较实用的现有插件包括Visual GC Plugin、Threads Inspector、JVM Capabilities等。

对VisualVM感兴趣的朋友可以下载试用、查看源代码、阅读中文版的入门指南介绍

细心的读者可能会发现VisualVM不支持IBM JDK。IBM有自己的JDK实现,并且广泛应用于各个平台(Solaris除外)上的IBM产品(如Websphere Application Server),如果朋友需要诊断部署在IBM产品上的Java应用的问题,可以下载IBM提供的问题诊断工具IBM Support Assistant

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

Java的未来在哪里? by Sun Tzu

创新。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT