写了一个游戏服务端,包括场景+副本+装备属性等系统,数据库采用mysql。做压力测试的时候发现内存泄漏的非常快,一秒2kb左右的速度在涨。后来写了个测试程序,这里我贴上代码:
setInterval(test,1000);
function test(){
var mem = process.memoryUsage();
console.log('rss:', Math.round((mem.rss/1024)) + "KB");
}
就这么简单的代码,内存也一直在涨,难道是在等gc来回收 么?可以在测试的情况下手动gc一下吗?
运行过程中的代码不止这些吧
rss: 13240KB rss: 13244KB rss: 13708KB rss: 13724KB rss: 13724KB rss: 13728KB rss: 13728KB rss: 13732KB rss: 13732KB rss: 13732KB rss: 13736KB rss: 13736KB rss: 13740KB rss: 13740KB rss: 13744KB rss: 13744KB rss: 13748KB rss: 13748KB rss: 13752KB rss: 13752KB rss: 13752KB
这是我测试的结果,能否把你的结果贴上来看看呢?谢谢啦
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
rss: 7248KB
签名: 交流群244728015 《Node.js 服务器框架开发实战》 http://url.cn/Pn07N3
@brighthas可以告诉我你的nodejs版本吗?
@brighthas谢谢,我是0.10.18的,我去弄个新版试试
@brighthas可以告诉我你的系统环境嘛?我换了0.10.21的,还是这样,我擦了
进行了再次测试,我的也有所增长了,应该是setInterval 没有释放 timer , 你用setTimeout实验一下。
@brighthas好的,非常感谢
your code no problem .
my test result is 9900kb max .
签名: 交流群244728015 《Node.js 服务器框架开发实战》 http://url.cn/Pn07N3