第 3 章 诊断性能问题

3.1. 启用 Garbage Collection Logging

检查垃圾回收日志在尝试对 Java 性能问题进行故障排除时很有用,特别是与内存用量相关的问题。

除了用于写入日志文件的一些额外磁盘 I/O 活动外,启用垃圾回收记录不会影响服务器性能。

在 OpenJDK 或 Oracle JDK 上运行的独立 JBoss EAP 服务器,已默认启用垃圾回收日志记录。对于 JBoss EAP 受管域,可以为主机控制器、流程控制器或个别 JBoss EAP 服务器启用垃圾回收日志记录。

  1. 获取正确的 JVM 选项,以为您的 JDK 启用垃圾回收日志记录。将以下选项中的路径替换为您希望创建日志的位置。

    注意

    红帽客户门户具有一个 JVM Options 配置工具,可帮助您生成最佳 JVM 设置。

    • 对于 OpenJDK 8 或 Oracle JDK 8:

      -verbose:gc -Xloggc:<path_to_directory>/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=3M -XX:-TraceClassUnloading
    • 对于 OpenJDK、Oracle JDK 或支持 JEP 271 的 JDK 版本:

      -Xlog:gc*:file=<path_to_directory>/gc.log:time,uptimemillis:filecount=5,filesize=3M
    • 对于 IBM JDK:

      -Xverbosegclog:<path_to_directory>/gc.log
  2. 将垃圾回收 JVM 选项应用到您的 JBoss EAP 服务器。

    有关如何将 JVM 选项 应用到 受管域中的单机服务器或服务器 的说明,请参阅 JBoss EAP 配置指南

其他资源