我写了一个基于TCP的服务器,发现用PM2运行后资源暴涨
发布于 4个月前 作者 dongxie 350 次浏览 来自 问答

主要实现的是一个聊天登陆功能的服务器,原来用forever运行没看到什么资源占用,如下

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                   
20558 root      20   0  758m  60m 5760 S  3.0  0.4   0:15.91 node 

用了pm2启动并查看内存资源,差不多10个小时内存飙升到1.5g,cpu持续在8%平均,本来以为代码的memory leak,大量找资料,然后改写代码**(其实还是没找到哪里会memoryleak,只是把一些回调函数从临时改成成员函数,把收发socket数据的用户业务逻辑对象改成了资源池可复用,尽量减少创建新的buffer,不过buffer的创建不可避免因为要解决粘包问题)** 做了这些后,一点也没好效果啊,然后重新改用forever运行就又没这么变态的占用。 我没用cluster就是单进程跑的。 大家有谁有这方面经验么,反正用pm2的web检测看就是内存几秒涨一点,非常快

回到顶部