Как ограничить использование виртуальной памяти в node.js?
Я работаю во встроенной среде, где ресурсы довольно ограничены. Мы пытаемся использовать node.js, который работает хорошо, но обычно потребляет около 60 мегабайт виртуальной памяти (реальная память составляет около 5 мегабайт.) Учитывая наши ограничения, это слишком много виртуальной памяти; мы можем позволить себе только позволить node.js использовать максимум 30 мегабайт виртуальной машины.
Существует несколько параметров командной строки для node.js, таких как "--max_old_space_size", "--max_executable_size" и "--max_new_space_size", но после экспериментов я обнаружил, что все они управляют реальным использованием памяти, а не максимальным виртуальным размер памяти.
Если это имеет значение, я работаю в варианте Ubuntu Linux на архитектуре ARM.
Существуют ли какие-либо параметры или настройки, позволяющие установить максимальный объем виртуальной памяти, который разрешено использовать процессу node.js?
1 ответ
Вы можете использовать softlimit для выполнения узла с ограниченным размером. Или вы можете напрямую использовать setrlimit для Linux, но не совсем уверены, как вызывать его из NodeJS, см. Этот SO вопрос