JAVA基础应用——使用VisualVM进行性能分析及调优

来源:互联网 发布:ubuntu查看cpu使用情况 编辑:程序博客网 时间:2024/06/01 09:57

VisualVM是JDK自带的免费的,集成了多个JDK命令行工具的可视化工具,为Java应用程序做性能分析及调优
VisualVM通过 jvmstat、JMX、SA(Serviceability Agent)以及 Attach API 等多种方式从程序运行时获得实时数据,从而进行动态的性能分析。同时,它能自动选择更快更轻量级的技术尽量减少性能分析对应用程序造成的影响,提高性能分析的精度。

性能分析的主要方式

监视

转储

系统转储

Java转储

堆转储

快照

CPU快照

内存快照

性能分析

CPU性能分析

内存性能分析

线程性能分析

VisualVM 安装

JDK 6 Update7以后, VisualVM已作为OracleJDK的一部分。

而官网也可以下载安装。但它本身需要JDK6以上版本运行,可以监控JDK1.4以上版本的应用程序。

官网地址:
http://visualvm.java.net/

安装插件

通过菜单里的插件管理器,或到插件中心手工下载、离线安装。
插件中心网址:
http://visualvm.java.net/pluginscenters.html

功能

内存分析

堆内存分析图示例
这里写图片描述

永久保留区域使用情况
这里写图片描述

在Applications程序上,点击右键“当出现OOME 时生成堆Dump”功能,当程序出现OutOfMemory例外时,VisualVM将自动生成一个堆转储。

内存评估示例
这里写图片描述

CPU使用情况
这里写图片描述

线程分析
VisualVM提供了三种视图的线程分析,默认以时间线的方式展现。
这里写图片描述

快照功能
- 应用程序快照
- Profiler快照

* 转储功能*
- 线程转储
这里写图片描述
- 堆转储
这里写图片描述
这里写图片描述
两个堆转储文件可以进行比较。

本文内容主要来源:
http://www.ibm.com/developerworks/cn/java/j-lo-visualvm/

0 0
原创粉丝点击