我正在尝试修复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);
感谢。