JVM参数配置的线上教训

原来规则处理业务五十台服务器经常大量fgc,load飙高,我修改了jvm配置后,五十台服务器十多天没有任何异常,双十一中轻闲度过。

可是今天突然又有一台大量fgc,load飙高。分析了半天,回头一看,配置脚本漏推了。唯 一这一台漏推,唯有这一台异常。

因为都是消息处理,处理完消息立即就扔了,集群维护人员把young设置为最大堆的一半:

-Xms4G -Xmx4G -Xmn2G

这样除掉Perm,  Old区一定小于2g,虽然大多时候对象在Young区就回收,可是一旦发生对象需要升代,那么Old区就有可能放不下而

发生大量的fgc。并且,非业务的对象可能会占用很大的old区。

原文地址:https://www.cnblogs.com/james1207/p/3423915.html