解道jdon.com

解道jdon.com -

Quarkus Native 采用 Adaptive GC 策略

从 Quarkus 2.13.6.Final 开始,本机Native运行时垃圾收集策略已切换,以提供更一致和可预测的运行时性能。 在 2022 年的某个时候,在进行一些本机运行时性能基准测试时,我们观察到,在恒定负载纯文本基准测试中,内存消耗会持续增长,直到达到 500MB 左右,然后才会下降: 小型垃圾收集经常发生,但这些收集无法完全收集所有垃圾。 这种未收集的垃圾将继续增长,直到达到 500MB 左右,此时将进行完整的垃圾收集,并清除不断增长的泄漏。 我们想知道的第一件事是,这个 ~500MB 的限制是什么以及它来自哪里。为此,我们启用了 GC 日志记录以查看是否可以获得一些线索: ..

从 Quarkus 2.13.6.Final 开始,Quarkus 原生应用程序的 GC 策略切换为“自适应”,以提供更一致和可预测的运行时性能。在 2022 年,发现内存消耗会持续增长,直到达到 500MB 左右,原因是 Quarkus 指示 GraalVM 使用“按空间和时间”GC 策略,该策略实现了一种shouldCollectCompletely方法,当使用的堆超过最小堆大小时,会执行完整 GC。删除 GC 策略配置调整后,“自适应”GC 策略获得几乎相同的吞吐量,并且内存消耗减少近 50%,因此成为 Quarkus 的默认策略。

gc

相关推荐 去reddit讨论

热榜 Top10

eolink
eolink
Dify.AI
Dify.AI
LigaAI
LigaAI
观测云
观测云

推荐或自荐