gpt4 book ai didi

java - Spring Boot Actuator 指标 mem 和 mem.free

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:33:14 25 4
gpt4 key购买 nike

在通过 /metrics 端点公开的 Spring Boot 指标中,memmem.free 的含义是什么?

我们正在对部署在三个节点上的新 Spring Boot 微服务进行负载测试,每个盒子的 mem 总是在 VM 总 4G 中的 250M 左右,mem.free 在不切实际的负载,比如正常负载的100倍,可以降到15M,测试后慢慢恢复。

它们不是堆内存,因为 Spring Boot Metrics 单独报告它们并且它们不是 Java 进程本身,因为从命令行我可以看到无论负载有多大,它都保持在 4G 的 16%,大约 900MB。这是/metrics 调用响应片段:

{
mem: 227657,
mem.free: 44280,
processors: 2,
instance.uptime: 80393579,
uptime: 80414405,
systemload.average: 0.03,
heap.committed: 133632,
heap.init: 61440,
heap.used: 89351,
heap: 872448,
nonheap.committed: 96688,
nonheap.init: 2496,
nonheap.used: 94025,
nonheap: 0,
threads.peak: 109,
threads.daemon: 34,
threads.totalStarted: 183,
threads: 63,
classes: 10079,
classes.loaded: 10155,
classes.unloaded: 76,

....

Grafana mem.free 过去 24 小时的屏幕截图,最低点是在重负载测试期间(15MB!) enter image description here

Grafana cpu 和内存使用报告如下所示,告诉我在那段时间 CPU 压力不足,这是可以理解的。然而 Java 进程内存(只有 1 个 Spring boot 在那个盒子里运行)是稳定的: enter image description here

那么 Spring Boot 指标中 memmem.free 又是什么意思呢?

最佳答案

mem 是 JVM 当前使用的内存总量。它是两个值的总和:

mem.free 是 JVM 可用的内存量。这是一个单一的值(value):

要查看更多详细信息,请查看 Spring Boot 的 SystemPublicMetrics类。

关于java - Spring Boot Actuator 指标 mem 和 mem.free,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35354693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com