转自:http://visualvm.java.net/zh_CN/gettingstarted.html
VisualVM 入门指南
VisualVM 提供在 Java 虚拟机 (Java Virutal Machine, JVM) 上运行的 Java 应用程序的详细信息。在 VisualVM 的图形用户界面中,您可以方便、快捷地查看多个 Java 应用程序的相关信息。
本入门指南应当对您快速设置并运行 VisualVM 有所帮助。本指南将演示如何安装 VisualVM,以及如何通过安装 VisualVM 更新中心提供的插件向该工具添加功能。本指南还将介绍如何启动 VisualVM,以及如何查看可以获取的一些有关本地和远程 JVM 上运行的应用程序的信息。
VisualVM 实践
以下简短的截屏视频显示了最初在 java.sun.com 中介绍的 VisualVM 功能:
<iframe src="http://www.youtube-nocookie.com/embed/z8n7Bg7-A4I" frameborder="0" width="420" height="315"></iframe>
安装 VisualVM
- 从 VisualVM 项目页下载 VisualVM 安装程序。
- 将 VisualVM 安装程序解压缩到本地系统。
- 导航至 VisualVM 安装目录的 bin 目录,然后启动应用程序。
使用“应用程序”窗口
在启动应用程序后,将打开 VisualVM 的主窗口。缺省情况下,“应用程序”窗口显示在主窗口的左窗格中。在“应用程序”窗口中,可以快速查看本地和远程 JVM 上运行的 Java 应用程序。
“应用程序”窗口是查看特定应用程序详细信息的主入口点。右键单击应用程序节点将打开弹出式菜单,从该弹出式菜单中可以选择是打开主应用程序标签,还是生成线程 dump 或堆 dump。
有关如何使用“应用程序”窗口查看和保存应用程序相关数据的更多详细信息,请参见以下页面:
- Using the Applications Window(使用“应用程序”窗口)
浏览堆 Dump
VisualVM 有一个可视化窗口,通过该窗口可以轻松浏览堆 dump。您可以装入现有堆 dump,或为本地运行的应用程序生成堆快照。
要生成本地应用程序的堆 dump,可以执行下列任一操作:
- 在“应用程序”窗口中右键单击应用程序节点,然后选择“堆 Dump”。
- 在“应用程序”窗口中双击应用程序节点以打开应用程序标签,然后在“监视”标签中单击“堆 Dump”。
要打开保存的堆 dump,请从主菜单中选择“文件”>“装入”,然后找到保存的堆 dump。
浏览打开的堆 dump:
- 单击“堆 Dump”工具栏中的“类”,以查看活动类和对应实例的列表。
- 双击某个类名打开“实例”视图,以查看实例列表。
- 从列表中选择某个实例,以查看对该实例的引用。
在生成堆 dump 后,VisualVM 将在新标签中打开该堆 dump,并在“应用程序”窗口中的应用程序节点下为该堆 dump 创建一个节点。要保存生成的堆 dump,请右键单击该堆 dump 节点,然后选择“另存为”。如果没有明确保存生成的堆 dump,则在应用程序关闭时将删除该 dump。
有关更多信息,请参见以下文档:
- Browsing a Heap Dump(浏览堆 Dump)
对应用程序进行性能分析
VisualVM 包括一个 Profiler,可以使用它对本地 JVM 上运行的应用程序进行性能分析。您可以在应用程序标签的 "Profiler" 标签中访问性能分析控件。通过该 Profiler,可以分析本地应用程序的内存使用情况和 CPU 性能。
注意:要对 JDK 6 上运行的应用程序进行性能分析,需要关闭该应用程序的类共享,否则该应用程序可能会崩溃。要关闭类共享,请使用 -Xshare:off 参数启动应用程序。
- 启动本地 Java 应用程序。(使用 -Xshare:off 参数启动该应用程序。)
- 在“应用程序”窗口的“本地”节点下,右键单击该应用程序节点,然后选择“打开”以打开该应用程序标签。
- 在该应用程序标签中单击 "Profiler" 标签。
- 在 "Profiler" 标签中单击“内存”或 "CPU"。
在选择性能分析任务后,VisualVM 将在 "Profiler" 标签中显示性能分析数据。
有关使用 VisualVM 进行性能分析的更多信息,请参见以下文档:
连接到远程主机
通过 VisualVM,可以轻松监视远程主机上运行的应用程序,并查看有关远程系统的常规数据。要查看远程主机上应用程序的相关信息,必须首先连接到远程主机。已连接的远程主机将列在“应用程序”窗口的“远程”节点下。展开远程主机节点可查看远程主机上运行的应用程序。
要从远程应用程序中检索数据,需要在远程 JVM 上运行 jstatd 实用程序。有关如何启动 jstatd 的更多信息 请参见 jstatd - Virtual Machine jstat Daemon(jstatd - 虚拟机 jstat 守护进程)。无法对远程主机上运行的应用程序进行性能分析。
- 右键单击“应用程序”窗口中的“远程”节点,然后选择“添加远程主机”。
- 在“添加远程主机”对话框中,键入远程计算机的主机名或 IP 地址。
- (可选)键入远程主机的显示名称。此名称将显示在“应用程序”窗口中。如果没有输入显示名称,则在“应用程序”窗口中使用主机名标识远程主机。
- 单击“确定”。
单击“确定”后,将在“远程”节点下显示远程主机的节点。展开远程主机节点可查看远程主机上运行的 Java 应用程序。
您可以双击远程应用程序的名称,在 VisualVM 中打开该应用程序标签。
有关更多信息,请参见以下文档:
- Working with Remote Applications(使用远程应用程序)
安装 VisualVM 插件
通过安装 VisualVM 更新中心提供的插件,可以向 VisualVM 添加功能。例如,安装 VisualVM-MBeans 插件可以向应用程序标签中添加 "MBeans" 标签,通过此标签,可以在 VisualVM 内监视和管理 MBeans。
安装 VisualVM 插件:
- 从主菜单中选择“工具”>“插件”。
- 在“可用插件”标签中,选中该插件的“安装”复选框。单击“安装”。
- 逐步完成插件安装程序。
该屏幕快照显示了选中 VisualVM-MBeans 插件的“插件”管理器。
其他 VisualVM 文档
本文档介绍了 VisualVM 的某些功能。VisualVM 旨在提供一个直观的可视界面,使您可以轻松浏览有关本地和远程 JVM 上运行的 Java 应用程序的信息。有关使用 VisualVM 功能的更多详细信息,请参见以下文档:
- VisualVM Documentation and Resources(VisualVM 文档和资源)。
相关推荐
### VisualVM入门指南:深入解析Java内存监控利器 #### 一、VisualVM概览 **VisualVM**,作为一款由Sun Microsystems(现Oracle)提供的强大工具,为Java开发者提供了直观的图形界面,用于监控和分析运行在Java...
### VisualVM入门指南知识点详解 #### 一、VisualVM简介 **VisualVM** 是一款由Sun Microsystems(现已被Oracle收购)开发的免费、开源的工具,用于监视和调试基于Java的应用程序。它集成了多种原本独立存在的...
### VisualVM 入门指南详解 #### 一、VisualVM简介及获取方法 **1.1 VisualVM简介** VisualVM是一款由Sun Microsystems开发的强大而直观的工具,它为开发者提供了全面的信息视图,用于监控和分析运行在Java虚拟机...
VisualVM 入门指南 VisualVM 是一个功能强大且免费的 Java 应用程序监控和分析工具,旨在提供 Java 虚拟机 (Java Virtual Machine, JVM) 上运行的 Java 应用程序的详细信息。 VisualVM 能够提供强大的分析能力,...
3. VisualVM实战操作指南 - 启动VisualVM:在Windows系统中,直接双击jvisualvm.exe即可启动。如果VisualVM所在的硬盘分区是NTFS格式的,可以使用特定参数来启动,以绕过对NTFS格式硬盘的支持问题。 - 界面简介:...
"VisualVM_入门指南.pdf"这个文件很可能是官方或社区提供的使用教程,包含了如何启动和操作VisualVM的基本步骤,以及如何利用其功能来诊断和优化Java应用程序的性能。通过阅读这份指南,你可以学习到如何监控JVM...
《JAVA虚拟机解读入门》是一本面向初学者的指南,旨在带领读者深入理解Java虚拟机(JVM)的工作原理和内部机制。JVM是Java语言的核心组成部分,它为Java程序提供了一个跨平台的运行环境,使得“一次编写,到处运行”...
《Eclipse从入门到精通》是一本全面介绍Eclipse集成开发环境(IDE)的指南,旨在帮助初学者快速掌握Eclipse的使用,并深入理解Eclipse的插件开发。Eclipse作为一个开源、跨平台的Java IDE,广泛应用于Java、C++、...
**HETF-HAP2.0 快速入门指南** **一、HETF-HAP2.0 简介** HETF-HAP2.0 是一个高效、可扩展的高性能应用程序平台,专为处理大规模数据处理和分布式计算任务而设计。它提供了一套完整的框架,用于构建、部署和管理...
### MyEclipse 入门教程知识点汇总 #### 一、MyEclipse简介与安装配置 - **MyEclipse概述**: - MyEclipse是一款基于Eclipse平台的集成开发环境(IDE),专为Java开发设计。 - 它集成了众多强大的功能,如代码...
在【描述】中提到的“好帮手”,意味着这个资源可能是通过一系列的教程、课件或指南,系统地介绍如何有效地使用Eclipse。对于想要下载的人来说,这将是一个全面学习Eclipse功能和技巧的理想平台。 【标签】"pdf文件...
2. **监控工具选择**:利用JConsole、VisualVM等工具监控JVM运行时状态。 3. **调整堆大小**:根据应用程序的实际需求调整新生代与老年代的比例。 4. **选择合适的垃圾回收策略**:例如选择Parallel GC、CMS GC或是...
文档并不涵盖所有细节,而是作为该领域的入门指南。对于更深入的信息,建议参考专门的书籍和其他参考资料。 #### 方法论 在进行Java性能调优时,采用系统化的方法至关重要。避免盲目猜测问题所在,而是应该通过...
《后端必备+服务器网络编程指南》是一本针对后端工程师深入学习服务器网络编程和性能调优的专业书籍。它涵盖了从基础知识到高级实践的广泛内容,旨在帮助读者全面提升在这一领域的技能。 首先,我们来探讨“后端”...
13. **Java学习资料**: 可能包括Java教程、实战项目案例、面试指南等,帮助初学者快速入门和进阶。 这个Java编程软件合集是一个全面的开发者工具箱,涵盖了从项目初始化、编码、测试到部署的全过程。对于新手和经验...
1. **JDK(Java Development Kit)**: JDK是开发和运行Java应用程序的基础,它包含了Java编译器(javac)、Java运行时环境(JRE)、开发者工具(如JConsole、VisualVM)和其他必要的库文件。你需要根据你的操作系统...
- 除了 Memory Analyzer,还有其他内存分析工具,如 JProfiler、VisualVM 等,它们也可以帮助诊断和解决 Java 内存问题。 通过深入理解和熟练运用这些知识点,你可以有效地利用 Eclipse Memory Analyzer 工具,...
- **学习指南**:对于初学者,手册提供了Java语法、类库和API的详细解释,帮助他们快速入门。 - **参考手册**:对于经验丰富的开发者,手册是解决具体问题的宝贵资源,可以在编写代码时查阅具体功能的使用方法。 ...
《Professional Java》是一本全面介绍Java语言及其开发环境的高级指南。该书专注于JDK 6版本,旨在帮助读者深入了解Java编程的核心概念和技术细节,并掌握最新的功能和最佳实践。 #### 三、主要内容概述 ##### 1. ...