VisualVM 专为 JAVA 应用程序的开发人员打造,为用户提供了强大的UI界面,能够帮助用户对java程序进行性能分析等操作,软件中包含了很多Java调试的功能,支持对内存、CPU、进程进行分析,让开发人员可以更好地制作出应用程序,支持用户在MBeans 上进行浏览和操作。
软件功能
监控
监控是检查应用程序运行时行为的一般方法。多个视图分别实时显示CPU的使用状况、内存的使用状况、线程状态和其他有用的信息,以便用户能够立即发现问题的关键。
存储
性能分析工具从存储器中获取当前状态数据,存储到文件用于静态性能分析。Java程序通过在启动Java程序时添加适当的条件参数来触发转移操作。包括以下三种类型:
系统转移
JVM生成的当地系统转移,也称为核心转移。一般来说,系统的存储数据量很大,需要与平台相关的工具进行分析,如Windows上的windbg和Linux上的gdb。
Java转移
JVM内部生成的格式化数据包括线程信息、类别加载信息和堆积统计数据。通常也用于检测死锁。
软件具有可视化的特点,能够帮助用户监控和分析Java数据;
提供分析海量数据以及内存、cpu等功能,方便用户进行调优;
分析完成的监控报告能够直接生成,让用户直观地查看。
软件特点
1、内存分析
VisualVM 通过检测 JVM 中加载的类和对象信息等帮助我们分析内存使用情况,我们可以通过 VisualVM 的监视标签和 Profiler 标签对应用程序进行内存分析。
2、CPU 分析
VisualVM 能够监控应用程序在一段时间的 CPU 的使用情况,显示 CPU 的使用率、方法的执行效率和频率等相关数据帮助我们发现应用程序的性能瓶颈。我们可以通过 VisualVM 的监视标签和 Profiler 标签对应用程序进行 CPU 性能分析。
3、线程分析
Java 语言能够很好的实现多线程应用程序。当我们对一个多线程应用程序进行调试或者开发后期做性能调优的时候,往往需要了解当前程序中所有线程的运行状态,是否有死锁、热锁等情况的发生,从而分析系统可能存在的问题。