Node.js с V8 подходит для устройства с ограниченной памятью? - PullRequest
20 голосов
/ 08 марта 2012

Хотелось бы знать, является ли node.js с механизмом V8 подходящим для развертывания на устройстве с ограниченной памятью (например, 256 МБ) и работающим параллельно с другим процессом.

Я прочитал, что он подключит ресурсмашина.Есть ли способ ограничить использование памяти и обработки самого движка V8?

Ответы [ 3 ]

14 голосов
/ 08 марта 2012

256 МБ - это достаточный объем оперативной памяти для запуска Node.js (например, на экземпляре Linux VPS), при условии, что не запущено другое программное обеспечение для восстановления памяти.Узел имеет аргумент --max-stack-size для ограничения использования памяти.

Модель однопотокового четного сервера узла обычно эффективно использует ресурсы, но V8 из-за своей архитектуры JIT, вероятно, будет использовать несколько больше памяти, чеминтерпретируемые / байт-скомпилированные реализации, такие как PHP или CPython (предлагая превосходную производительность).Кроме того, чтобы использовать преимущества нескольких ядер ЦП, необходимо запустить несколько процессов Node.js (по сравнению с потоками совместного использования памяти), эффективно увеличивая использование памяти, но это ограничение распространяется и на самых популярных конкурентов.

В отношении «работы параллельно с другим процессом» или «подключения ресурса машины» , нет ничего особенного в запуске процесса Node.js (за исключением весьма распространенногомногоядерный выпуск);он ведет себя аналогично любой пользовательской программе.Вы можете назначить процесс Node.js с низким приоритетом на уровне операционной системы (например, с nice), но в зависимости от вашего устройства / приложения потенциальная проблема может быть связана с вводом / выводом.

Чисто из-за технических проблем / эффективностиВ перспективе Erlang, вероятно, является более идеальным выбором для языка высокого уровня, когда требуется настоящая многопроцессорная поддержка и высокий параллелизм.

9 голосов
/ 08 февраля 2014

64 МБ ОЗУ достаточно для V8 и Node.js

См. " Компиляция Node.js для Arduino YÚN " а также " установка Node.js на Arduino YÚN ".

Arduino YÚN работает под управлением Linux с 64 МБ ОЗУ.

3 голосов
/ 09 марта 2012

BeagleBone имеет 256 МБ ОЗУ (и в обычной конфигурации, без виртуальной памяти), и он прекрасно запускает node.js.

...