解决一起go 服务fatal error: runtime: out of memory案例

解决一起go 服务fatal error: runtime: out of memory案例,第1张

 筚路蓝缕,以启山林。抚有蛮夷,以属华夏。不鸣则已,一鸣惊人。
                                                                                                          ——《左传`宣公十二年》

 

服务出现fatal error: runtime: out of memory报错,导致服务挂掉,下面分享一个已经碰到的一种案例。

情况如图:

图中只截取部分,业务代码暂不展示,经排查,出问题的代码所在行是这样的:abc = append(abc, obj)

abc是一个切片。相信你基本有眉目了,没错,就是因为切片过长导致内存不够用引起的,是多大长度呢,当时崩掉时的切片长度打出来是2400万左右,这个数字大家不要死记硬背,因为每台机器上这个值是不一样的,因为机器每时每刻也运行有其它任务,剩余可用的内存肯定一直在变化中,所以即使是相同业务相同执行方式的代码,也可能是不同的结果;

因此需要充分评估代码的执行方式和数据量级影响,

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/995551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存