FullGC 40 次/天优化为 10 天 1 次

问题

前一段时间,线上服务器的 FullGC 非常频繁,平均一天 40 多次,而且隔几天就有服务器自动重启了,这表明服务器的状态已经非常不正常了,得到这么好的机会,当然要主动请求进行调优了。

未调优前的服务器 GC 数据,FullGC 非常频繁。

FullGC 40 次/天优化为 10 天 1 次_第1张图片

首先服务器的配置非常一般(2 核 4G),总共 4 台服务器集群。每台服务器的 FullGC 次数和时间基本差不多。其中 JVM 几个核心的启动参数为:

-Xms1000M -Xmx1800M -Xmn350M -Xss300K -XX:+DisableExplicitGC -XX:SurvivorRatio=4 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:LargePageSizeInBytes=128M -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC
  • -Xmx1800M:设置 JVM 最大可用内存为 1800M。

  • -Xms1000m:设置 JVM 初始化

你可能感兴趣的:(JVM性能调优实践,jvm,java)