控制垃圾回收信息的收集(仅限 Java 应用程序)

缺省情况下,Health Center 仅收集有关垃圾回收的基本数据。对于 Java™ 应用程序,您可以通过启用诸如对象分配之类的数据收集过程来检索更详细信息。您可以使用该信息来识别内存泄漏情况并生成调优建议。您还可以将垃圾回收信息保存到文件中,可之后在诸如 IBM® Monitoring and Diagnostic Tools for Java - Garbage Collection and Memory Visualizer 之类的不同工具中对该文件进行分析。

开始之前

必须已将 Health Center 客户机连接到正在运行的 Health Center 代理。在您查看已保存文件中的数据时,受监控系统菜单选项不可用。

过程

  1. 单击受监控系统 > 垃圾回收和分配数据收集... 这样会打开 GC 数据收集设置对话框窗口。
  2. 可选: 要将垃圾回收数据保存到文件中,请选择将详细 GC 数据写入文件

    这样会打开一个消息窗口,该窗口显示 Health Center 将用于存储详细垃圾回收数据的文件的位置。该文件名为 verbosegc_process_id_n.log,其中 process_id 是受监控 JVM 的进程标识,n 是序号。该文件保存在受监控 JVM 的本地目录中,该目录由 com.ibm.java.diagnostics.healthcenter.output.folder 属性指定。 如果未设置该属性,那么会将该文件保存在 user.dir 系统属性指定的目录中。

  3. 可选: 如果要查看采样分配请求的调用层次结构,请选择启用采样对象分配事件的调用堆栈收集 该信息将显示在垃圾回收透视图的按请求站点划分的采样视图中。
  4. 可选: 如果要分析指定大小范围内的对象分配,请选择启用阈值内对象分配事件收集 该信息将显示在垃圾回收透视图的对象分配视图中。
    1. 下阈值(字节)和/或上阈值(字节)字段中输入值。将收集该范围内的对象分配数据。 例如,如果将下阈值指定为 1 MB 并且未指定上阈值,那么将收集大于 1 MB 的对象的数据。
      您可以使用字节、千字节或兆字节来指定阈值。 使用以下格式:
      value[k|m]
      value 是阈值的数字值,k 是可选的千字节指示符,m 是可选的兆字节指示符。例如:

      4096 = 4096 字节
      830k = 830 KB
      2m = 2 MB

      如果未指定任何值,那么将不会收集任何数据。
  5. 可选: 如果要限制对象分配和分配采样的调用层次结构数据的收集,请为要针对每个事件收集的堆栈条目的最大数目选择一个值。 该设置控制针对 Health Center 中所有事件收集的堆栈跟踪深度。缺省值为 5。
  6. 单击完成

下一步做什么

使用垃圾回收透视图分析数据。 要了解更多信息,请参阅垃圾回收透视图。如果选择将垃圾回收数据保存到文件中,可将该文件导入 IBM Monitoring and Diagnostic Tools for Java - Garbage Collection and Memory Visualizer,以进行更详细的分析。 IBM Knowledge Center 中提供了有关此工具的更多信息。


© Copyright IBM Corporation 2007, 2015.
© Copyright 1997, 2015, Oracle and/or its affiliates.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.