第 3 章 诊断性能问题
3.1. 启用垃圾回收日志记录
在尝试对 Java 性能问题进行故障排除时,检查垃圾回收日志非常有用,特别是与内存用量相关的内容。
除了编写日志文件的其他磁盘 I/O 活动外,启用垃圾回收日志记录不会显著影响服务器性能。
对于在 OpenJDK 或 Oracle JDK 上运行的独立 JBoss EAP 服务器,已默认启用垃圾回收日志记录。对于 JBoss EAP 受管域,可以为主机控制器、处理控制器或单独的 JBoss EAP 服务器启用垃圾回收日志记录。
获取正确的 JVM 选项,用于为您的 JDK 启用垃圾回收日志记录。在下面的选项中替换您要创建日志的路径。
注意红帽客户门户网站有一个 JVM 选项配置工具,可帮助您生成最佳 JVM 设置。
对于 OpenJDK 11 或 Oracle JDK 11:
-verbose:gc -Xloggc:<path_to_directory>/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=3M -XX:-TraceClassUnloading
对于版本 9 或更高版本的 OpenJDK、Oracle JDK 或支持 JEP 271 的任何 JDK:
-Xlog:gc*:file=<path_to_directory>/gc.log:time,uptimemillis:filecount=5,filesize=3M
其他资源
- 有关 JEP 271 的更多信息,请参阅 OpenJDK 网页上的 JEP 271: Unified GC Logging。