GC 实时显着更长
GC real time significant longer
应用程序正在使用 -XX:+UseParallelGC。
有一个 GC,实时比用户 + sys 花费更长的时间(~1.05 秒):
[Times: user=0.04 sys=0.01, real=1.05 secs]
上一次 GC 的 PSYoungGen 清理了相同数量的内存和更少的时间。我没有启用任何标志来检查 jit 是否导致了这个。机器上有负载,这是 运行 但是由执行 GC 的同一个 jvm 进程引起的。
什么原因会导致这样的事情发生?我以后可以做些什么来弄清楚发生了什么(如果再次发生)?
[GC
Desired survivor size 720864 bytes, new threshold 1 (max 15)
[PSYoungGen: 18864K->454K(21121K)] 38016K->17722K(64833K), 0.0224350 secs] [Times: user=0.04 sys=0.01, real=1.05 secs]
为了将来能够更好地诊断此问题 运行 使用 -XX:+PrintSafepointStatistics –XX:PrintSafepointStatisticsCount=1 -XX:+PrintGCDetails -XX:+PrintGCCause
以获得更多有用的日志。您使用的 JVM 版本也可能相关。
除此之外,您还必须监视系统统计信息,主要是分页和 CPU 利用率,以查看其他进程或磁盘 IO 是否使 JVM 处于饥饿状态。
应用程序正在使用 -XX:+UseParallelGC。 有一个 GC,实时比用户 + sys 花费更长的时间(~1.05 秒): [Times: user=0.04 sys=0.01, real=1.05 secs]
上一次 GC 的 PSYoungGen 清理了相同数量的内存和更少的时间。我没有启用任何标志来检查 jit 是否导致了这个。机器上有负载,这是 运行 但是由执行 GC 的同一个 jvm 进程引起的。
什么原因会导致这样的事情发生?我以后可以做些什么来弄清楚发生了什么(如果再次发生)?
[GC
Desired survivor size 720864 bytes, new threshold 1 (max 15)
[PSYoungGen: 18864K->454K(21121K)] 38016K->17722K(64833K), 0.0224350 secs] [Times: user=0.04 sys=0.01, real=1.05 secs]
为了将来能够更好地诊断此问题 运行 使用 -XX:+PrintSafepointStatistics –XX:PrintSafepointStatisticsCount=1 -XX:+PrintGCDetails -XX:+PrintGCCause
以获得更多有用的日志。您使用的 JVM 版本也可能相关。
除此之外,您还必须监视系统统计信息,主要是分页和 CPU 利用率,以查看其他进程或磁盘 IO 是否使 JVM 处于饥饿状态。