Ter*_*nen 4 javascript node.js
据我所知,大多数 Node.js 版本的每个进程的内存限制约为 1GB,基于以下信息:
目前,默认情况下,v8 在 32 位系统上的内存限制为 512MB,在 64 位系统上默认为 1.4GB。 https://github.com/nodejs/node-v0.x-archive/wiki/FAQ
这是一个旧档案,从那以后情况可能有所改善。然而,我感兴趣的是如果有人要使用
require('child_process').fork("newProcess.js")
Run Code Online (Sandbox Code Playgroud)
有可能克服这个限制吗?
因此,创建一个新的 V8 实例将为 JavaScript 对象创建一个新的内存池。
我问的原因是我找不到可靠的消息来源来准确确认这种情况,尽管文档强烈表明情况确实如此,因为它指出:
这些 Node.js 子进程仍然是 V8 的全新实例。
小智 5
如果我理解你的问题,你想 fork() 具有不同的内存限制(--max-old-space-size参数)。默认情况下,新的nodeJS实例将从父实例继承它。
但是,您可以绕过此限制,将参数传递给 forked() 实例,如下所示:
require('child_process').fork("newProcess.js", { 
        execArgv: ['--max-old-space-size=4096']
    });)
Run Code Online (Sandbox Code Playgroud)
这将分叉您的进程,但内存限制为 4Gb。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           5463 次  |  
        
|   最近记录:  |