Подтвердить что ты не робот

Node.js с V8 подходит для ограниченного устройства памяти?

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

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 3

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