Čest problem tijekom rada na JavaScript Node.js projektu je pogreška "JavaScript heap of memory" greška. Ova se pogreška obično događa kada zadana memorija koju vaš sustav dodjeljuje Node.js nije dovoljna za pokretanje velikog projekta.

Pogreška je uobičajena bez obzira pokrećete li svoj projekt na Windowsu, macOS-u ili distribuciji Linuxa poput Ubuntua. Srećom, postoji nekoliko jednostavnih popravaka koji mogu pomoći u rješavanju pogreške "JavaScript heap of memory".

Što je Heap memorija?

Prije nego što počnete ispravljati pogrešku, korisno je razumjeti što je heap memorija i kako ga programi koriste.

Memorija dodijeljena na gomili sustava naziva se i dinamički dodijeljena memorija. Na programeru je da koristi dostupnu memoriju kako smatra prikladnim. Što je još važnije, veličina gomile za program ovisi o dostupnoj virtualnoj memoriji koja mu je dodijeljena.

Ako izvodite relativno velik projekt, može zahtijevati više memorije od zadano dodijeljenog dijela. To može uzrokovati pad vašeg projekta i zabilježiti pogrešku "JavaScript heap of memory".

instagram viewer

Kako popraviti JavaScript gomilu memorije u sustavu Windows

Bez obzira na vaš IDE, popravak "JavaScript heap of memory" je identičan.

Možeš dodajte varijablu okruženja putem upravljačke ploče za povećanje memorije dodijeljene projektu Node.js.

  1. Otvori Start izbornik, traziti Napredne postavke sistema,i odaberite Najbolje podudaranje.
  2. U dijaloškom okviru kliknite na Varijable okoline, zatim kliknite na Novi od bilo kojeg Varijable sustava ili Korisničke varijable. Prvi se odnosi na sve korisnike na vašem računalu, dok drugi utječe samo na vaš trenutni račun
  3. u Naziv varijable polje enter ČVOR_OPCIJE. u Varijabilna vrijednost polje enter --max-old-space-size=4096. Ova vrijednost će dodijeliti 4 GB virtualne memorije za Node.js. Za postavljanje druge vrijednosti pomnožite iznos koji vam je potreban u GB s 1024 (vrijednost varijable mora biti u MB).
  4. Kliknite na u redu da biste spremili promjene, zatim kliknite primijeniti i na kraju kliknite u redu još jednom. Ponovno pokrenite projekt kako bi promjene stupile na snagu.

Također možete postaviti varijablu okruženja putem terminala Windows PowerShell.

Pokrenite PowerShell terminal, upišite donju naredbu i pritisnite Enter:

$env: NODE_OPTIONS="--max-old-space-size=4096"

Ako samo privremeno želite povećati memoriju gomile, pokrenite naredbu u nastavku na PowerShell terminalu prije pokretanja projekta:

postaviti NODE_OPTIONS=--max-old-space-size=4096

Nakon što unesete ovu naredbu, možete implementirati/pokrenuti svoj projekt pomoću npm run dev ili vlastiti scenarij.

Ne zaboravite uvijek unijeti potrebnu veličinu memorije u MB. Ako to ne učinite, može doći do neočekivanog ponašanja vašeg programa. Također je bitno ne dodijeliti cijelu dostupnu memoriju jer to može uzrokovati značajan kvar sustava.

Kako popraviti pogrešku JavaScript Heap Out of Memory na macOS-u i Linuxu

Na macOS-u i Linuxu popravak heap memorije vrlo je sličan. Trebao bi izvoz varijable okoline koji specificira količinu virtualne memorije dodijeljene Node.js.

U svom terminalu, prije pokretanja projekta, unesite sljedeću naredbu i pritisnite Enter:

izvoz NODE_OPTIONS=--max-old-space-size=4096

Ovo će dodijeliti 4 GB virtualne memorije prostoru za izvođenje Node.js. Za postavljanje druge količine memorije, zamijenite 4096 sa potrebnim iznosom u MB.

Gornju naredbu možete dodati svojoj konfiguracijskoj datoteci kako biste izbjegli ponavljanje procesa. Da biste to učinili, slijedite isto postupak za postavljanje vaše PATH varijable.

Izbjegnite pogrešku JavaScript Heap Out of Memory

Ovu pogrešku možete izbjeći tako da u svom programu nema curenja memorije. Pravilno upravljanje memorijom ključno je pri pisanju programa, osobito na jeziku niske razine.

Iako će povećanje dodijeljene memorije privremeno riješiti problem, trebali biste pronaći glavni uzrok i riješiti ga.