2015-12-04 3 views
8

Im новичок в nodejs и mongodb. У меня проблема, когда я прочитал около 100000 записей из моего mongodb в приложении nodejs. Когда я пытаюсь получить 100000 записей, я получил эту ошибку:Конфигурация max размер старого пространства в Nodejs

FATAL ERROR: CALL_AND_RETRY_LAST Allocation не удалось - процесс из памяти

Я ищу Google и все сказали, что конфигурационный максимальный старый параметр размера пространства, потому что v8 двигатель имеет около 1,9 Гб памяти памяти.

Мое мнение, я запускаю свое приложение с помощью eclispe, и я не знаю, как настроить параметр max-old-space-size.

Можно ли дать подсказку?

Большое вам спасибо!

ps: мой английский плохой, поэтому, если вы не можете понять мой вопрос, все в порядке.

+1

Почему вы пытаетесь сохранить все эти записи в памяти? – mscdex

+0

Я хочу показать все эти записи на своем веб-сайте. – user1697646

+1

Итак, почему бы не поместить записи в браузер или реализовать какой-то пейджинг (браузеры не всегда обрабатывают тонну элементов dom, что хорошо, если предположить, что именно так вы показываете данные)? – mscdex

ответ

12

Использовать node --max_old_space_size=5000 yourapp.js, чтобы обеспечить 5000 мб. Просмотрите настройки запуска eclipse для параметров командной строки, где вы можете добавить это.

Однако, как говорится в комментариях, вы должны пересмотреть загрузку этого в память и вместо этого передать его клиенту.

+0

Благодарим вас за комментарий, как вы сказали, «загружая это в память и передавая его клиенту». Можете ли вы показать мне документы или что-то, что может помочь это сделать, потому что я не собираюсь начинать. – user1697646

+0

Check этот вопрос: http://stackoverflow.com/questions/7372626/how-to-stream-mongodb-query-results-with-nodejs – ZachB

+3

это «--max_old_space_size = 5000» или «--max-old-space -size = 5000 "?! это путает –

Смежные вопросы