Skip to content

面试速答(先看这里)

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

60秒标准回答:

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

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

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

**答题顺序:**结论 → 原理/机制 → 关键流程 → 场景与取舍 → 易错点

回答主线:

  • **要点1:**很多人会在面试的时候,提到频繁FullGC,那有的面试官就会问,你认为多久一次FullGC算是频繁呢?
  • **要点2:**其实,Full GC的频率取决于多个因素,包括应用程序的性质、堆的大小、内存分配和释放的模式等。
  • **要点3:**这个应用日常的QPS在5000以上,线上一共有100台左右的机器。
  • **要点4:**平常情况,FullGC次数,一周不超过一次。
  • **要点5:**业务高峰期,FullGC次数,2小时一次。

**记忆锚点:**FullGC → Full → YoungGC → FullGC多久一次算正常 → 内存分配和释放的模式 → QPS

关键取舍:

  • 正常情况下,Full GC应该是相对较少发生的,因为频繁的Full GC会导致应用程序的性能下降和响应时间延长。

加分表达:

  • 如果一定要给一个指标,那么我可以给一个经验值,拿我们这面一个非常核心的应用来说: 这个应用日常的QPS在5000以上,线上一共有100台左右的机器。

追问准备:

  • 很多人会在面试的时候,提到频繁FullGC,那有的面试官就会问,你认为多久一次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的机器,各项系统指标,什么范围算是正常?

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