【发布时间】:2012-02-15 18:22:09
【问题描述】:
我正在使用 Java 5,我们的自定义服务器应用程序需要 GC 调整,因为有时我们会在高峰时段遇到 15-20 秒的暂停。我们在带有 JVM 参数的服务器类机器上运行 Java 5,例如 -server -d64
有没有办法判断 JVM 当前使用的是哪种 GC 算法?
http://docs.oracle.com/javase/1.5.0/docs/guide/vm/gc-ergonomics.html
在运行服务器 VM 的服务器级机器上,垃圾收集器 (GC) 已从以前的串行收集器 (-XX:+UseSerialGC) 更改为并行收集器 (-XX:+UseParallelGC)。您可以使用 java 命令的-XX:+UseSerialGC 命令行选项覆盖此默认值。
1) 我想知道这真的发生了吗?
我的下一个问题是 我在命令行参数中添加了以下内容
-verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime -Xloggc:logs/gc.log
2) 除了记录 GC 日志之外,它们是否会对正在运行的 JVM 产生任何性能或行为影响?
【问题讨论】:
标签: java garbage-collection jvm-arguments