ali-sdk / ali-ons

Aliyun Open Notification Service Client
MIT License
151 stars 43 forks source link

怀疑存在内存泄漏 #41

Closed peng-ran closed 6 years ago

peng-ran commented 6 years ago

背景:2.0.4版本线上环境多个ons消费端服务集体OOMKill。 现象:多个消费者服务启动时间相同,但大约8-9小时后集体OOM,可确定无消息处理的消费者也会OOM。 测试: 1、ali-ons 2.0.4 2、只启动消费端服务,不生产消息进行测试且消费端服务只启动ons消费者subscribe,无任何其它逻辑。 3、服务刚启动时50M,17个小时后稳定在225-230M,高峰283M,测试环境容器限制最大300M,超过则重启服务; 目前看,在跑几个小时就该溢出了,所以怀疑这个版本仍然存在内存泄漏的问题或是ali-ons是否有最低内存要求? 麻烦作者看看,谢谢。

denghongcai commented 6 years ago

总共才300M内存,Node.js 应用崩了很正常吧

可以用下 alinode 分析下你应用的内存状况

peng-ran commented 6 years ago

@denghongcai 谢谢,但是经过测试和观察内存情况我们认为2.0.4确实存在内存泄漏问题,后来我们更换到3.0.0版本,问题解决,内存分配和释放正常且服务内存稳定再50-110以内。

denghongcai commented 6 years ago

能否麻烦使用下 alinode 或者 heapdump 之类的工具 dump 一下内存,提供一下现场?

peng-ran commented 6 years ago

抱歉,无法提供了,问题解决后我已经把验证问题的环境撤下了。最近一直观察使用3.0.0的生产环境服务,内存情况正常,之前2.0.4以每小时差不多10M的速率增长,一天OOM一到两次。 当时验证的方式很简单,仅启动ons的consumer,在服务器上跑一天观察下内存就明朗了。