Node.js与V8适合有限的内存设备?
想知道的是,具有V8引擎的node.js适合部署在有限的内存设备(如256MB)上并与其他进程并行运行。
我读到它将挂钩机器的资源。 有没有办法限制V8引擎本身的内存和处理使用?
假设没有运行其他内存pipe理软件,256 MB是足够的RAM来运行Node.js(例如在Linux VPS实例上)。 节点有–max-stack-size参数来限制内存使用。
Node的单线程均衡服务器模型通常可以有效地利用资源,但是由于其JIT架构,V8可能使用比解释/字节编译实现(如PHP或CPython)更多的内存(同时提供出色的性能)。 另外,要利用多个CPU核心,必须运行多个Node.js进程(与内存共享线程相比),有效地扩大了内存使用量,但是这一限制也适用于其最受欢迎的竞争对手。
在“与其他进程并行”或“挂载机器资源”方面 ,运行Node.js进程没有什么特别的地方(除非是非常罕见的多核问题)。 它的行为与任何用户级程序相似。 您可以在操作系统级别低优先级Node.js进程(例如, nice
),但取决于您的设备/应用程序,I / O可能更多的问题。
纯粹从技术/有效性的angular度来看,当需要真正的多处理支持和高并发性时,Erlang可能是更高级语言的理想select。
对于V8和Node.js,64MB的RAM就足够了
请参阅“ 为ArduinoYÚN编译Node.js ”以及“ 在ArduinoYÚN上安装Node.js ”。
ArduinoYÚN使用64MB的RAM运行Linux。
BeagleBone有256MB的内存(在正常的configuration下,没有虚拟内存),它运行的node.js相当不错。