Java Mission Control是做什么?

6小时前 (18:23:23)阅读1回复0
zaibaike
zaibaike
  • 管理员
  • 注册排名1
  • 经验值26865
  • 级别管理员
  • 主题5373
  • 回复0
楼主

  Java虚拟机(JVM)及垃圾搜集器(GC)负责办理大大都的内存使命,但是Java应用系统中仍是有可能呈现内存泄露。事实上,OOM之类的现象在大型项目中也是一个常见的问题。制止内存泄露的第一步是要弄清晰它是若何发作的,然后有的放矢。

那事实是什么招致了 Java 法式中的内存泄露呢?莫非 Java 虚拟机的垃圾搜集器不该该办理未利用的内存吗?是的,它会停止办理,但是垃圾搜集的对象只能是不再被引用的对象。

  但是,某些不再需要的对象,却在系统的某个处所仍在引用它,如许就不克不及对那些对象停止垃圾搜集,在日记中的大量String对象的生成以及编写Java代码时的一些常见的内存泄露陷阱等等城市形成内存泄露,但是要在开发阶段完成找出形成泄露的代码长短常困难的。

  在大型企业系统中,Java代码中的内存泄露是常见并且难于处理的问题。那些泄露问题凡是是在最不肯意它发作的正式消费情况中发现的,并且它也很难于在开发与测试情况中得到重现。那是为什么呢?消费情况中的系统需要处置更大量的数据,并且有可能在运行很长时间后才会发现 Java堆在迟缓地增长。

  最末,招致系统内存耗尽。

  因而本文介绍一种新东西BEA JRockit Mission Control,用来诊断泄露并指出底子原因。该东西的开销十分小,因而能够利用它来寻找消费情况中的系统的内存泄露。

简介

  BEA JRockit Mission Control(以下简称为JRMC)于2005年12月面世,并从JRockit R26。

  0。0版本起头绑缚了那个东西套件,目前最新的版本是2。0。1。它是一组以极低的开销来监控、办理和阐发消费情况中的应用法式的东西。它包罗三个独立的应用法式:内存泄露监测器(Memory Leak Detector)、JVM运行时阐发器(Runtime Analyzer)和办理控造台(Management Console)。

JRockit Management Console

  JRockit Management Console是一个基于JMX的控造台,用于监控和办理多个JRockit实例,供给至关重要的形态数据和控造JRockit JVM的运行时特征的办法。

  它捕捉并显示关于垃圾搜集器(GC)暂停、内存、堆利用和CPU负载的实时数据,以及摆设在JVM内部MBean办事器上注册的所有JMX MBean所公开的信息。JVM办理包罗对CPU类似性、垃圾搜集战略和内存池大小的动态控造,还包罗一个开销低的办法阐发器和一个异常计数器。

JRockit Runtime Analyzer

  JRockit Runtime Analyzer(JRA)是一个JVM阐发器,是一个随需应变的“动态记录器”Java应用法式,它记录了Java应用法式和JVM在一段预定的时间内的详细记录。

  然后通过JRA应用法式对记录下来的文件停止离线阐发。所记录的数据包罗对办法的挪用跟踪、错误的同步、锁定的阐发,还有垃圾搜集统计信息,优化决策以及对象统计信息和其他重要的应用法式/JVM行为。它的目标是让JRockit开发人员可以找到优良的办法来基于现实应用法式优化JVM,关于帮忙客户在消费和开发情况中处理问题非常有用。

  JRA由两个部门构成:JVM中的记录引擎和能够用于阐发成果记录的GUI应用法式。记录引擎利用的信息源有几种,包罗JRockit Hot Spot Detector(优化引擎也利用它来决定应该优化哪些办法)、操做系统、JRockit Memory System(最出名的就是垃圾搜集器)和JRockit锁定阐发器(若是撑持的话)。

JRockit Memory Leak Detector

  固然Java的主动内存办理机造把开发人员从显式地分配和释放所利用内存的重担下解放出来,但若是法式持续引用不再有用的对象时,内存泄露仍是有可能发作。JRockit Memory Leak Detector东西用来发现和查找内存泄露原因。

  趋向阐发器为用户供给了一个趋向阐发,能够发现十分迟缓的泄露,显示详细的堆统计信息(包罗指向泄露对象和分配位置的引用类型和实例),能够申明应用法式中每个类利用堆空间的情况,显示某一类型的实例利用了几空间、它们占用了堆的哪一部门、存在几个实例以及每秒钟堆空间利用的增加速度(以字节为单元),并快速找出泄露原因。

  利用先辈的图形化表示手艺,以便更容易定位和理解有时比力冗杂的信息。

  JRockit Memory Leak Detector还供给快速找出泄露原因的手段。能够在趋向阐发表中选择一个思疑类型,所有具有指向选中类型的实例的类型都能够显示在一个图中。

  图形节点能够随意展开,用户能够回溯到招致引用的最末原因。类的实例能够被显示,指向一个选中实例的所有实例都能够在一张实例图中显示出来。能够跟踪某个类的所有分配情况。

能够查看Java法式在运行时的各类目标。能够帮忙你找到Java法式的性能瓶颈和引起问题的是哪些类。从而帮忙我们进步Java法式的性能。

0
回帖

Java Mission Control是做什么? 期待您的回复!

取消