欢迎光临
梦想从学习开始!

虚拟机性能监控工具介绍| 小熊测试

本文主要介绍 虚拟机性能监控工具介绍| 小熊测试,小熊希望对大家的学习或者工作具有一定的参考学习价值,在测试领域有所提升和发展。

  最近在做性能测试,在性能调优过程中查阅了些虚拟机相关的知识,下面对虚拟机所用的性能监控的工具做个简单的介绍和汇总。

  一、JDK命令行工具

  1.jps:虚拟机进程状况工具

  列出正在运行的虚拟机进程,显示虚拟机执行祝列的名称,已经这些进程的本地虚拟机的唯一ID。此命令虽然功能单一,但它是使用频率最高的JDK命令工具。

  Jps 命令格式:

  jps  [options] [hostid]

  2. jstat:虚拟机统计信息监视工具

  jstat(JVM Statistics Monitoring Tool)是用于监视虚拟机各种运行状态信息的命令行工具。它可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。在没有GUI图形界面,只提供了纯文本控制台环境服务器上,它将是运行期定位虚拟机性能问题的首选工具。

  jstat命令格式:

  jstat [option vmid [ interval [s|ms] [count] ] ]

  参数interval和count代表查询的间隔和次数,如果省略这两个参数,说明只查询一次。

  例如:jstat –gc 3232 500 20

  命令含义为:每500ms查询一次进行3232垃圾收集器的状况,一共查询20次。

  选项option代表用户希望查询虚拟机信息,主要分为3类;类装载、垃圾收集和运行期编译状况。

  3. jinfo:Java配置信息工具

  jinfo(Configuration Info for Java)实时查看和调整虚拟机的各项参数。想知道未被显示指定的参数的系统默认值,可以使用jinfo的-flag选项进行查询,jinfo还可以使用-sysprops选项把虚拟机进行的System.getProperties()的内容打印出来。

  jinfo命令格式:

  jinfo [option] pid

  4.jmap:Java内存映像工具

  jmap(Memory Map for Java)于生成堆转储快照,查询finalize执行队列,Java堆和永久代的详细信息等。

  jmap命令格式:

  jmap [option] vmid

  5.jstack:Java堆栈跟踪工具

  jstack(Stack Trace for Java)用于生成虚拟机当前时刻的线程快照,定位线程出现长时间停顿的原因。

  jstack命令格式:

  jstack [option] vmid   二、 JDK可视化工具

  1. Jconsole:java监视与管理控制台

  JConsole可以说是前面介绍的所有功能性JDK工具的一个可视化版本,几乎实现了JVM Manage API中提供的所有的功能。

  通过JDK/bin目录下的“jconsole.exe”启动JConsole。双击其中一个进程即可开始监控,也可以使用“远程进程”功能来连接远程服务器,对远程虚拟机进行监控。

  1)“概述”页显示整个虚拟机主要运行数据的概览。

  2)内存监控

  “内存”页签相当于可视化的jstat命令,用于监视收集器管理的虚拟机内存(java堆和永久代)的变化趋势。

  3)线程监控

  “线程”页签的功能相当于可视化的jstack命令,遇到线程停顿的时候可以时候线程监控进行分析

  2.VisualVM:多合一故障处理工具

  VisualVM它除了运行监视、故障处理外,还提供了很多其他方面的功能。如性能分析(profiling),VisualVM的性能分析功能甚至比起JProfiler专业且收费工具都不会逊色多少,而且VisualVM还有一个很大的优点:不需要被监视的程序基于特殊的Agent运行,因此它对应用程序的实际性能影响很小,使得他可以直接应用在生产环境中。

  1)启动VisualVM

  通过JDK/bin目录下的“jvisualvm”启动VisualVM,可以根据需要给VisualVM装扩展插件,点击“工具”–>“插件”菜单。

  2)生成和浏览堆转储快照

  可以通过以下2种方式生成:

  在“应用程序”窗口中右键单机应用程序节点,然后选择“堆dump”;

  在“应用程序”窗口双击应用晨曦节点打开应用程序标签,然后再“监视”标签中单击“堆dump”。

  生成了dump文件之后,应用程序页签将在堆的应用程序下增加以[heapdump]开头的子节点,并在主页签中打开该转储快照。

  “摘要”面板可以看到应用程序dump时运行的参数、线程堆栈等信息。

  “类”面板以类为统计口径统计的类的实例数量和容量信息。

  “实例”面板需要通过“类”面板进去,在“类”中选择关系的类后点击,即可在实例中查看此类的实例信息。

  3)分析程序性能

  在Profiler页签中,提供了程序运行期间方法级的CPU执行时间分析及内存烦心,进行profiling肯定会对程序运行性能有比较大的影响,所以一般不在生产环境中使用这项功能。

  选择“cpu”或“内存”,VisualVM会记录这段时间中应用程序执行过的方法。Cpu分析会统计每个方法执行的次数、执行耗时。分词分析则会统计每个方法关联对象数及这些对象所占用的空间。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小熊分享邦(www.xxfxb.com),希望大家能坚持软件测试之路,谢谢。

赞(0) 打赏
未经允许不得转载:小熊分享邦 » 虚拟机性能监控工具介绍| 小熊测试

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏