spring 启动垃圾回收

spring boot garbage collection

我正在尝试限制给予 spring-boot 应用程序的最大内存,并想检查垃圾回收以查看我设置的内容是否有效。

我正在使用 spring-actuator,它公开了 4 个属性

示例 1

"gc.ps_scavenge.count": 84,
"gc.ps_scavenge.time": 1150,
"gc.ps_marksweep.count": 3,
"gc.ps_marksweep.time": 392 

示例 2

"gc.ps_scavenge.count": 804592,
"gc.ps_scavenge.time": 5361101,
"gc.ps_marksweep.count": 15923,
"gc.ps_marksweep.time": 2949279,

我找不到任何关于检查什么以及什么被认为是好的价值以及时间价值究竟是什么的指南,它是累积的还是平均的?

可能是我的问题众所周知,但我没有经验是垃圾收集监控,找不到答案。

默认情况下,spring 引导执行器打印时间和实现 GarbageCollectorMXBean 的所有 bean 的计数。文档说时间是 "the approximate accumulated collection elapsed time in milliseconds"。

什么是好的价值取决于您的文档,但根据我的阅读,您应该关注收集垃圾所花费时间的部分。您应该使用 uptime 指标来计算时间百分比。