我们有一个在OpenJDK8上运行的应用程序,它在一整天内的分配率很高(约80 MB /秒)。
我们注意到,年轻一代的总体gc时间直接指代老一代的职业,并且变得越来越慢。这怎么可能?另外,在强制执行FullGC之后,平均GC时间又变快了,此后又缓慢增加了
工作负载变化不大,并且有大量的OldGen空间可用。是的,有对OldGen的升级,但这是有意的,无法优化。
请忽略OldGen的峰值,这只是一个测量错误。红线代表GC。
我们使用以下启动参数:
-server -Xms8g -Xmx15g -XX:MaxPermSize=2048m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:NewRatio=2 -XX:SurvivorRatio=8 -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -verbose:gc
谢谢。