✅FullGC多久一次算正常?

典型回答

很多人会在面试的时候,提到频繁FullGC,那有的面试官就会问,你认为多久一次FullGC算是频繁呢?多久一次算是正常呢?

其实,Full GC的频率取决于多个因素,包括应用程序的性质、堆的大小、内存分配和释放的模式等。正常情况下,Full GC应该是相对较少发生的,因为频繁的Full GC会导致应用程序的性能下降和响应时间延长。

如果一定要给一个指标,那么我可以给一个经验值,拿我们这面一个非常核心的应用来说:

这个应用日常的QPS在5000以上,线上一共有100台左右的机器。

整个集群,也就是100多台4C8G的机器总体的数据是:

平常情况,FullGC次数,一周不超过一次。

业务高峰期,FullGC次数,2小时一次。

FullGC耗时,400-700ms,不超过1秒钟。

YoungGC次数,100+/分钟,YoungGC耗时,20ms左右

堆内存利用率维持在50%以下。

以上,供大家参考,一般来说,日常情况,FullGC不应该超过一天一次的这个频率。

扩展知识

✅4C8G的机器,各项系统指标,什么范围算是正常?

原文: https://www.yuque.com/hollis666/xkm7k3/nks48167c9upybbo