gpt4 book ai didi

node.js - NodeJS/ExpressJS 内存泄漏

转载 作者:搜寻专家 更新时间:2023-10-31 22:33:39 26 4
gpt4 key购买 nike

我有一个像这样的静态 ExpressJS 服务器:

var express = require("express"),
app = express();

app.use(express.static(__dirname));

app.listen(1050);

当我启动服务器时,它使用 20MB 的 v8 堆。如果我每秒重新加载一次页面,则使用的堆会不断增长。 4 小时后,它使用了 40MB 的 v8 堆。总的 v8 堆达到 80MB,RSS(进程使用的总内存)达到 130MB。

为什么这个简单的静态服务器使用这么多内存?似乎是内存泄漏。如果我不停止页面重新加载,使用的内存会不断增加。

如果像这样的简单静态服务器使用太多内存,就不可能做更大的项目。

NodeJS 版本:v0.10.21ExpressJS版本:3.3.5

编辑:我注意到这是 NodeJS 的问题,因为我尝试使用 node-static 而不是 express,虽然已用/总 V8 堆保持不变,但 nodejs 使用的 RSS 内存继续增长。

屏幕:
https://www.dropbox.com/s/4j5qs3rv2549dix/Screenshot%202014-03-20%2014.06.57.png https://www.dropbox.com/s/0c30ou8l3rv2081/Screenshot%202014-03-20%2014.07.54.png https://www.dropbox.com/s/5be1isk4v70qj8g/Screenshot%202014-03-20%2014.08.10.png
(13:48 开始)

最佳答案

不确定您是否仍然需要答案,但对于可能遇到相同问题的任何其他人,我会发帖。

我遇到了同样的问题并通过使用修复了它:

--max-old-space-size 5

这限制了在被 GC 删除之前保留的内存量。

关于node.js - NodeJS/ExpressJS 内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22507667/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com