我写了一个基于TCP的服务器,发现用PM2运行后资源暴涨
主要实现的是一个聊天登陆功能的服务器,原来用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检测看就是内存几秒涨一点,非常快