科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件JROCKIT 5.0——轻松玩转JVM

JROCKIT 5.0——轻松玩转JVM

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

  BEA JRockit Java虚拟机(JVM)所带来的不仅仅是性能的提升。本文探讨了JRockit 5.0 R26版本可用的一些管理和使用方面的特性

作者:中国IT实验室 来源:中国IT实验室 2007年8月24日

关键字: JVM JRockit

  • 评论
  • 分享微博
  • 分享邮件

  BEA JRockit Java虚拟机(JVM)所带来的不仅仅是性能的提升。本文探讨了JRockit 5.0 R26版本可用的一些管理和使用方面的特性。概述了JRockit Mission Control分析工具套件、JRockit Management Console的试验性headless模式以及使用Ctrl-Break Handler、JRCMD、堆视图和code coverage与JVM进行交互。

简介
  JRockit JVM不只是快,它还和JRockit Mission Control一起,组成一套执行运行时分析和内存泄漏检测的分析工具,JRockit Management Console包含在JRockit JDK中。本文将探讨JRockit Management Console的一种试验性的headless模式,它可以用于与来自命令行的基于JRockitJMX的管理代理进行交互。Ctrl-Break Handler提供了一种向JRockit发送各种高级命令的方法,甚至是在它启动后。这些命令甚至可以远程调用,我在后文中会提及。最后,我探讨了试验性的code coverage,JRockit开箱即用地提供了该特性。

  关于BEA JRockit的更多信息,参见dev2dev网站的JRockit Product Center。

  首先我将快速概述一下JRockit JVM可用的已确定的管理工具,然后我会转向缺少文档的试验性管理特性。

JRockit Mission Control
  JRockit R26.0.0版本引入了JRockit Mission Control工具套件,它包含的工具可以进行监控、管理、分析和消除Java应用程序内存泄漏,而不会引起通常与此类工具相关联的性能开销。Mission Control的低性能开销是因为使用了作为JRockit常规适应性动态调优的一部分而收集的数据,这还可以消除工具使用字节码装置修改系统执行特性时发生Heisenberg异常的问题。JRockit Mission Control功能可以根据需要随时可用,低性能开销也只在运行工具时有效。这些特征使得JRockit Mission Control成为专门用于生产中系统的工具。

JRockit Mission Control中包含以下工具:

  • JRockit Management Console
    JRockit Management Console用于监控和管理多个JRockit实例。它捕获并显示关于垃圾收集器(GC)暂停、内存和CPU使用的实时数据,以及部署在JVM内部MBean服务器上的所有JMX MBean的信息。JVM管理包括对CPU相似性、垃圾收集策略和内存池大小的动态控制。
  • JRockit Runtime Analyzer
    JRockit Runtime Analyzer(JRA)是一个随需应变的“动态记录器”,它生成关于JVM和正在运行的应用程序的详细记录。然后可以使用JRA应用程序对记录下来的配置文件进行离线分析。所记录的数据包括对方法和锁定的分析,还有垃圾收集统计信息,优化决策以及对象统计信息。
  • JRockit Memory Leak Detector
    JRockit Memory Leak Detector工具用来发现和查找内存泄漏原因。Memory Leak Detector的趋势分析器可以发现非常缓慢的泄漏,显示详细的堆统计信息(包括指向泄漏对象和分配位置的引用类型和实例),并快速找出泄漏原因。Memory Leak Detector使用先进的图形化表现技术,以便更容易定位和理解有时比较复杂的信息。

  关于JRockit Mission Control的更多信息,可以阅读文章An Introduction to JRockit Mission Control,或者访问dev2dev网站的JRockit Mission Control。

  JRockit Management Console的Headless模式(试验性)

  JRockit Management Console是监控JRockit运行的工具。它包括两部分:一个运行在JVM进程中的JMX代理,一个使用图形化用户界面的独立客户端(关于它以及其它方面的更详细的信息,请参见An Introduction to JRockit Mission Control)。其中,用户界面可以绘出部署在所连接的Java虚拟机中的任何MBean的数值属性的图形。图形密集的应用程序对资源的消耗可能会相当厉害,JRockit Management Console也不例外。可以引入text-only(纯文本)模式,以便使用Management Console的通知功能和数据收集工具而不会导致整个GUI的开销。

  headless控制台引入了大量新的命令行参数。这同样适用于控制台的GUI版本。参数包括:

参数 描述
-headless 以headless模式启动控制台(不会加载与GUI相关的类)。
-settings <settings file> 使用指定配置文舳H绻訥UI模式启动,并且该文件不存在,那么它将在关闭Management Console时创建。
-connectall 连接配置文件中所有可用连接(即原先使用GUI添加的)。
-connect <connection 1> <connection 2> <...> 使用GUI连接配置文件中可用的指定连接。
-autoconnect 自动连接到运行在启用JRockit发现协议(JRockit Discovery Protocol,JDP)的管理服务器上的任何JRockit。
-uptime <time in seconds> 将控制台运行一段指定的时间,然后自动关闭它。
-useraction <name> <delay in seconds> <period (optional)> 经过指定的时延后运行指定的用户动作。如果不指定period,动作将只执行一次;如果指定,动作将每过<period>秒就执行一次。
-version 打印Management Console的版本信息,并退出。
-locale <language> <country (optional)> 使用特定的地区启动控制台,比如,-locale ja JP将以日语启动控制台(JRockit R27可用)。

  这里给出一个以headless模式启动Management Console的例子,读取指定配置文件,尝试连接所有已指定的JRockit,使用JRockit发现协议(JDP,下文讨论)积极查找新的JRockit。30秒后将以每分钟一次的间隔向所有连接的JRockit发送Ctrl-Break命令。一小时之后自动关闭。以前加入指定连接的所有通知规则(不管是通过使用GUI还是通过直接编辑配置文件添加的)将生效。

java -jar ManagementConsole.jar -headless 
   -settings C:\Headless\consolesettings.xml -connectall 
   -autoconnect -uptime 3600 -useraction ctrlbreak 30 60
查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章