现象: 压测偶现OOM造成的crash, 压测过程内存稳定,没有突增,日志报oom crash;
原因:socket链接从音频库拿到的字节数没有限制,会有个别次数返回len极大,sdk会根据这个len申请内存,超出允许使用范围的内存,直接引发OOM;
总结经验:OOM问题出现,首先观察内存趋势,(1)是否是缓慢增长,直到OOM,(2)还是突然间的OOM;
若为前者,说明代码中有不断的分配内存,若为后者,说明代码中有申请超出范围的内存异常。
现象: 压测偶现OOM造成的crash, 压测过程内存稳定,没有突增,日志报oom crash;
原因:socket链接从音频库拿到的字节数没有限制,会有个别次数返回len极大,sdk会根据这个len申请内存,超出允许使用范围的内存,直接引发OOM;
总结经验:OOM问题出现,首先观察内存趋势,(1)是否是缓慢增长,直到OOM,(2)还是突然间的OOM;
若为前者,说明代码中有不断的分配内存,若为后者,说明代码中有申请超出范围的内存异常。