Express或Node JS内存导致生成ENOMEM

时间:2019-06-14 22:17:40

标签: node.js express

看来我的快递服务器正在榨取服务器上的所有内存。我只是在猜测。我有一个正在运行的进程:

node server.js

这将加载一台服务器,从另一台服务器接收一些数据并进行截屏。一切正常,并且可以工作一天左右。然后无处不在,没有代码更改,它随机开始崩溃,并显示此错误:

internal/child_process.js:366
    throw errnoException(err, 'spawn');
    ^

Error: spawn ENOMEM
    at ChildProcess.spawn (internal/child_process.js:366:11)
    at Object.spawn (child_process.js:551:9)

我最初在服务器上有2 GB的内存。该过程将正常工作,并且速度更快,这会给我这个错误。我将内存增加到3个演出,并且持续了一天之久,然后又开始再次发生。在server.js文件中运行内存检查,我得到以下信息:

{ rss: 30277632,
  heapTotal: 20168704,
  heapUsed: 12109848,
  external: 497984 }

从命令行运行:free -m

             total       used       free     shared    buffers     cached
Mem:          3072       2223        848          3          0       1107
-/+ buffers/cache:       1115       1956
Swap:            0          0          0

其他人建议添加交换内存。不幸的是,在我的服务器提供商上,这似乎是不可能的。

我的猜测是它会耗尽内存,直到内存用完,然后才开始显示错误。无论如何,我可以从express中清除内存缓存以清理一些空间吗?我对此不太熟悉。有什么想法吗?

0 个答案:

没有答案