jvm 生产环境出现了两次 oom 的错误,前来请教一下

2022-11-07 22:24:57 +08:00
 dumbbell5kg
这次有运维的 dump 文件,很容易就分析出来了,改了代码
这次据说出问题后很快被别人重启了,运维没来得及 dump 。

关于这两种报错的区别,我在这里找到了答案: https://stackoverflow.com/questions/34329785/java-lang-outofmemoryerror-gc-overhead-limit-exceeded-vs-java-heap-space

我想通过 jvm 的监控指标来验证答案里所说的区别,所以我去看了 grafana 的 jvm 监控页面,但是发现很多指标不懂,可能由于搜索方式不对,也搜不到答案,故来请教一下

最后一张图右上角的 commit 和 max 重合了

1473 次点击
所在节点    程序员
3 条回复
Inn0Vat10n
2022-11-07 23:24:51 +08:00
问题一大概率是你 grafana aggregation 或者 sample 参数没调好导致的,比如截面上 2 台机器 gc 了一台,你做了 avg ,就会显示 0.5 ,也可能在时序上做了 avg, 这些情况都可能会出现小数
dumbbell5kg
2022-11-08 16:20:47 +08:00
@Inn0Vat10n 应该不是的,这个查询语句是模板自带的 irate(jvm_gc_pause_seconds_count{instance="xxxx:port"}[5m])
dumbbell5kg
2022-11-08 21:47:18 +08:00
大概知道了,问题 1 、2 的两个指标都是速率,而且是经过一定算法优化过的,不是实际的增量

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/893437

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX