【问题标题】:spring boot garbage collection春季启动垃圾收集
【发布时间】:2017-04-27 10:50:40
【问题描述】:

我正在尝试限制分配给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-boot spring-boot-actuator


    【解决方案1】:

    默认情况下,spring boot 执行器会打印所有实现GarbageCollectorMXBean 的bean 的时间和计数。文档说时间是“近似的以毫秒为单位的累积收集时间”。

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

    【讨论】:

    • 好吧,我确实检查了一个在线系统,发现它是 0.24%,我认为这很好。
    • 我试图弄清楚这些 .time 变量与 spring boot 2 执行器的等价物是什么,jvm.gc.pause TOTAL_TIME 在我看来并不相同。
    猜你喜欢
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    • 2018-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多