想知道带有V8引擎的node.js是否适合部署在有限的内存设备上(例如256mb),并与其他进程并行运行。
我读到它将连接机器的资源。有没有办法限制V8引擎本身的内存和处理使用?
发布于 2012-03-08 17:07:01
假设没有运行其他占用内存的软件,256MB的内存足以运行Node.js (例如,在Linux实例上)。节点有--max-stack-size参数来限制内存使用。
Node的单线程事件服务器模型通常可以有效地利用资源,但由于其即时体系结构,V8可能会比解释/字节编译的实现使用更多的内存,例如PHP或CPython (同时提供卓越的性能)。此外,为了利用多个CPU核心,必须运行多个Node.js进程(而不是内存共享线程),这有效地增加了内存使用量,但这一限制也适用于其最受欢迎的竞争对手。
在“与其他进程并行运行”或“挂接机器资源”方面,运行Node.js进程并没有什么特别之处(除了常见的多核问题);它的行为类似于任何userland程序。您可以在操作系统级别(例如使用nice)对Node.js进程设置低优先级,但根据您的设备/应用程序的不同,I/O可能会成为更多问题。
纯粹从技术/效率的角度来看,当需要真正的多处理支持和高并发性时,Erlang可能是高级语言更理想的选择。
发布于 2014-02-08 22:07:22
对于V8和Node.js,64MB的内存就足够了
参见"Compiling Node.js for Arduino YÚN“和"installing Node.js on Arduino YÚN”。
Arduino Y?N运行具有64MB RAM的linux。
发布于 2012-03-09 23:54:46
BeagleBone有256MB内存(在正常配置下,没有虚拟内存),并且可以很好地运行node.js。
https://stackoverflow.com/questions/9613528
复制相似问题