如题, 用LR不停的压nodejs搭建的服务器, 用的connect加上一些模块(有npm上的, 也有自己写的), 启动内存25M左右, 压十几分钟, 内存使用70M左右, 压24小时到了100M左右, 而且就算停止压, 内存依然无法释放, 如果服务器一直有请求, 那么内存会一直涨下去, 总有一天会爆掉…我要如何分析内存在哪里占用了呢?有没有什么分析工具?
不知道 node-inspector 能不能帮上忙
我一直都用tick,对后台调试内存和CPU都很好用 https://github.com/sidorares/node-tick
内存涨不是问题,关键是会不会存在泄露
如果一个请求, 带来1字节的增长, 总有一天你的内存会爆掉吧…
启动参数我看看过v8的参数, 具体还请明示
继续压,压到500M停止,如果还没释放基本说明你的程序有泄露
100M大小不够,v8有内存池策略,这个数量级看不出是你的代码有泄露还是被v8保留了
向操作系统申请内存是个高消耗操作
@xujun52011 你内存涨是很正常的,断开连接时把内存删了就OK,内存不够用就去优化代码,或者堆硬件
表示不能理解。我用node做了两个商用线上正在跑的游戏,都是高实时性的。正在做第三个,就从来没遇到过内存泄露的问题。真是奇了怪了
奇怪, node版本从0.10.18->0.10.26之后一点事都没有, 始终保持在60M左右…