阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

  • 2010-08-14
  • 本文字数:1000 字

    阅读完需:约 3 分钟

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

2010-08-14 02:063194
用户头像

发布了 501 篇内容, 共 248.3 次阅读, 收获喜欢 57 次。

关注

评论

发布
暂无评论
发现更多内容

Python OpenCV 之图像乘除与像素的逻辑运算,图像处理取经之旅第 17 天

梦想橡皮擦

Python OpenCV 4月日更

NAC公链主打应用而生的NA(Nirvana)公链有什么过人之处?

区块链第一资讯

Serverless 可观测性的过去、现在与未来

阿里巴巴云原生

Serverless 容器 开发者 云原生 调度

那些我磕过的音视频项目总结

梅芳姑

实时数据仓库的发展、架构和趋势

网易数帆

数据仓库 实时计算 实时数仓 iceberg 批流一体

定义边缘计算架构需考虑的三个方面

浪潮云

边缘计算

Netty HashedWheelTimer 时间轮源码详解

Yano

Java 架构 Netty

百度智能云发布云智一体的AI开发全栈模式

百度大脑

百度智能云

【LeetCode】直方图的水量Java题解

Albert

算法 LeetCode 4月日更

2021年Android工作或更难找,原理+实战+视频+源码

欢喜学安卓

android 程序员 面试 移动开发

如何实现微信8.0爆炸和烟花表情特效

梅芳姑

Rust从0到1-所有权-引用和借用

rust 引用 所有权 借用

在npm发布自己的组件

空城机

JavaScript 大前端 npm 4月日更 自定义组件

OpenTelemetry 简析

阿里巴巴云原生

容器 开发者 云原生 k8s 监控

重磅官宣:Nacos2.0 发布,性能提升 10 倍

阿里巴巴云原生

Java 容器 微服务 云原生 应用服务中间件

程序员面试指北:如何更高效的准备面试

邴越

Java 面试 求职 招聘

Hexo + Material + Github 搭建博客

U2647

博客 4月日更

短视频编辑:基于ExoPlayer可实时交互的播放器

梅芳姑

8x Flow 业务建模法(一):你能分清业务和领域吗?

胡皓

领域驱动设计 DDD 架构设计 事件风暴 业务建模

自己搭建一个语音聊天室

anyRTC开发者

ios android 音视频 WebRTC RTC

MySql数据库列表数据分页查询、全文检索API零代码实现

crudapi

全文检索 API crud crudapi 列表查询

Kubernetes 稳定性保障手册 -- 可观测性专题

阿里巴巴云原生

Serverless 容器 云原生 k8s 存储

SCF—BSS3.0的“公路网”

鲸品堂

工具 框架搭建 流式计算框架

flink流计算可视化web平台

无情

sql 流计算 flin

飞桨与龙芯完成兼容性认证

百度大脑

飞桨

2021年Android面经分享,赶紧收藏!

欢喜学安卓

android 程序员 面试 移动开发

清明节特辑 |记忆存储、声音还原、性格模仿……AI可以让人类永生吗?

华为云开发者联盟

AI 语音合成 清明节 对话机器人 VR/AR

业务随行:用户的网络访问策略还能这么玩

华为云开发者联盟

网络 通信 安全组 IP地址 业务随行

今天是个开心的日子

return

Python基础之:Python中的类

程序那些事

Python Python3 程序那些事

用DeBug的方式,带你掌握HBase文件在Snapshot的各种变化

华为云开发者联盟

HBase 元数据 数据迁移 数据备份 Snapshot

Java问题诊断工具VisualVM 1.3版发布_Java_崔康_InfoQ精选文章