node.js内存泄漏显然是由string.replace()函数

时间:2017-08-02 04:44:29

标签: javascript node.js replace memory-leaks

我正在尝试修复node.js中的内存泄漏。我找到了一些用于诊断问题的有用tutorials,但我遇到了修复问题的麻烦。我的程序每隔几分钟运行一次cronjob,根据它的内容更新一个名为siteBody的变量,并对该新变量进行处理。有一次,我替换了siteBody中的一些字符,我注意到在此命令之前和之后堆使用情况存在很大差异:

var heapUsed = process.memoryUsage().heapUsed;
console.log("BEFORE: Program is using "+heapUsed+" bytes of Heap.");

//replace all newline character with blanks
siteBody = siteBody.replace(/(\r\n|\n|\r)/gm,"");

var heapUsed = process.memoryUsage().heapUsed;
console.log("AFTER: Program is using "+heapUsed+" bytes of Heap.");

任何想法可能导致这个或我可以做些什么来修复它?

这就是我实现cronjob的方式:

var CronJob = require('cron').CronJob;
new CronJob('* * * * * *', function() {
  var date = new Date();
  if (   
  date.getSeconds() == 0 
  ){    searchAndUpdate();    }
}, null, true);

感谢。

0 个答案:

没有答案