Уобичајени проблем током рада на ЈаваСцрипт Ноде.јс пројекту је грешка „ЈаваСцрипт хрпа без меморије“. Ова грешка се обично јавља када подразумевана меморија коју ваш систем додељује за Ноде.јс није довољна за покретање великог пројекта.

Грешка је уобичајена без обзира да ли покрећете свој пројекат на Виндовс-у, мацОС-у или Линук дистрибуцији као што је Убунту. Срећом, постоји неколико лаких поправки које могу помоћи у решавању грешке „ЈаваСцрипт хрпа без меморије“.

Шта је хеап меморија?

Пре него што погледате исправљање грешке, корисно је да разуме шта је хеап меморија и како га програми користе.

Меморија додељена на системској хрпи назива се и динамички додељена меморија. На програмеру је да користи доступну меморију како му одговара. Што је још важније, величина гомиле за програм зависи од доступне виртуелне меморије која му је додељена.

Ако покрећете релативно велики пројекат, можда ће бити потребно више меморије од подразумеваног додељеног дела. Ово може довести до пада вашег пројекта и евидентирања грешке „ЈаваСцрипт хрпа без меморије“.

Како да поправите ЈаваСцрипт гомилу без меморије на Виндовс-у

Без обзира на ваш ИДЕ, исправка „ЈаваСцрипт хрпа без меморије“ је идентична.

Можете додајте променљиву окружења преко контролне табле за повећање меморије додељене пројекту Ноде.јс.

  1. Отвори Старт мени, тражити Напредне системске поставке, и изаберите најбоље подударање.
  2. У дијалогу кликните на Променљиве окружења, а затим кликните на Нова из било које Системске варијабле или Корисничке варијабле. Прво се односи на све кориснике на вашем рачунару, док друго утиче само на ваш тренутни налог
  3. У Име променљиве поље ентер НОДЕ_ОПТИОНС. У Вредност променљиве поље ентер --мак-олд-спаце-сизе=4096. Ова вредност ће доделити 4 ГБ виртуелне меморије за Ноде.јс. Да бисте поставили другачију вредност, помножите износ који вам је потребан у ГБ са 1024 (вредност променљиве треба да буде у МБ).
  4. Кликните на У реду да бисте сачували промене, а затим кликните Применити и на крају кликните У реду још једном. Поново покрените пројекат да би промене ступиле на снагу.

Такође можете да подесите променљиву окружења преко Виндовс ПоверСхелл терминала.

Покрените ПоверСхелл терминал, откуцајте доњу команду и притисните Ентер:

$енв: НОДЕ_ОПТИОНС="--мак-олд-спаце-сизе=4096"

Ако желите само привремено да повећате меморију гомиле, покрените доњу команду у ПоверСхелл терминалу пре него што покренете свој пројекат:

комплет НОДЕ_ОПТИОНС=--мак-олд-спаце-сизе=4096

Када унесете ову команду, можете да примените/покренете свој пројекат користећи нпм рун дев или сопствени сценарио.

Не заборавите да увек унесете потребну величину меморије у МБ. Ако то не урадите, може доћи до неочекиваног понашања у вашем програму. Такође је од виталног значаја да не додељујете целокупну доступну меморију јер то може довести до значајног квара система.

Како да поправите грешку из меморије у ЈаваСцрипт-у на мацОС-у и Линук-у

На мацОС-у и Линук-у, поправка меморије гомиле је веома слична. Требао би извезите променљиву окружења који одређује количину виртуелне меморије додељене Ноде.јс.

У свом терминалу, пре него што покренете пројекат, унесите следећу команду и притисните Ентер:

извоз НОДЕ_ОПТИОНС=--мак-олд-спаце-сизе=4096

Ово ће доделити 4 ГБ виртуелне меморије извршном простору Ноде.јс. Да бисте подесили другу количину меморије, замените 4096 са потребним износом у МБ.

Можете додати горњу команду у своју конфигурациону датотеку да бисте избегли понављање процеса. Да бисте то урадили, следите исто процес за подешавање ваше ПАТХ променљиве.

Избегните грешку у ЈаваСцрипт-у без меморије

Ову грешку можете избећи тако што ћете осигурати да ваш програм нема цурења меморије. Правилно управљање меморијом је кључно када пишете своје програме, посебно на језику ниског нивоа.

Док ће повећање додељене меморије привремено решити проблем, требало би да пронађете основни узрок и решите га.