有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java GC实时性显著延长

应用程序正在使用-XX:+UseParallelGC。 有一个GC,与用户+系统相比,实时花费的时间要长得多(~1.05秒): [时间:用户=0.04系统=0.01,real=1.05秒]

上一次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]

共 (1) 个答案

  1. # 1 楼答案

    为了在将来更好地诊断这个问题,请使用-XX:+PrintSafepointStatistics –XX:PrintSafepointStatisticsCount=1 -XX:+PrintGCDetails -XX:+PrintGCCause运行更多有用的日志。您使用的JVM版本也可能与此相关

    除此之外,您还必须监视系统统计数据,主要是分页和CPU利用率,以查看其他进程或磁盘IO是否会耗尽JVM