1

第一个示例中,我正在更新现有的 MongoDB 文档。会date: new Date() 导致内存泄漏吗?如果不是,为什么?我在某处读到,每当您使用new关键字分配新对象时,您必须自己解除分配。

var update = {
  $inc: { wins: 1 },
  $push: { pastMatches: { date: new Date, winner: winner, loser: loser } }
};
Character.update({ characterId: winner }, update);

第二个示例中,我使用以下 Express.js 中间件进行错误记录。如果您每次在应用程序路由中出现错误时调用此代码,是否会导致内存泄漏?new Date()是否会被垃圾收集?

app.use(function(err, req, res, next) {
  console.error(new Date, err);
  res.send(500);
});

谢谢!我正在尝试追踪我的应用程序中的内存泄漏,这些是一些让我印象深刻的例子。

4

1 回答 1

1

对我来说,这两个看起来都很温和。寻找用作缓存的对象、不断附加的数组等。您还应该确保确实存在内存泄漏,而不仅仅是 v8 使用了大量内存。尝试通过更小和更具体的 Web 应用使用来重现稳定的内存增长,以缩小范围。

于 2013-10-30T22:31:43.027 回答