Yleinen ongelma JavaScript Node.js -projektin parissa työskennellessä on "JavaScript-keon muisti" -virhe. Tämä virhe ilmenee yleensä, kun järjestelmäsi Node.js: lle varaama oletusmuisti ei riitä suuren projektin suorittamiseen.
Virhe on yleinen riippumatta siitä, suoritatko projektisi Windowsissa, macOS: ssä tai Linux-jakelussa, kuten Ubuntu. Onneksi on olemassa muutamia helppoja korjauksia, jotka voivat auttaa ratkaisemaan "JavaScript-keon muisti" -virheen.
Mikä on kasamuisti?
Ennen kuin tarkastelet virheen korjaamista, on hyödyllistä ymmärtää mitä kasamuisti on ja miten ohjelmat käyttävät sitä.
Järjestelmäkekoon varattua muistia kutsutaan myös dynaamisesti varatuksi muistiksi. Ohjelmoijan tehtävänä on käyttää käytettävissä olevaa muistia parhaaksi katsomallaan tavalla. Vielä tärkeämpää on, että ohjelman keon koko riippuu sille varatusta käytettävissä olevasta virtuaalimuistista.
Jos käytät suhteellisen suurta projektia, se saattaa vaatia enemmän muistia kuin oletusarvoisesti varattu osa. Tämä voi saada projektisi kaatumaan ja kirjautumaan "JavaScript-keon muistista" -virheen.
Kuinka korjata JavaScript-keon muistin loppuminen Windowsissa
IDE: stäsi riippumatta "JavaScript-keon muisti" -korjaus on identtinen.
Sinä pystyt Lisää ympäristömuuttuja Ohjauspaneelin kautta lisätäksesi Node.js-projektille varattua muistia.
- Avaa Aloitusvalikko, etsiä Järjestelmän lisäasetuksetja valitse paras ottelu.
- Napsauta valintaikkunassa ympäristömuuttujatja napsauta sitten Uusi kummastakaan Järjestelmän muuttujat tai Käyttäjämuuttujat. Edellinen koskee kaikkia tietokoneesi käyttäjiä, kun taas jälkimmäinen koskee vain nykyistä tiliäsi
- Vuonna Muuttujan nimi kenttään syötä NODE_OPTIONS. Vuonna Muuttuva arvo kenttään syötä --max-old-space-size=4096. Tämä arvo varaa Node.js: lle 4 Gt virtuaalimuistia. Jos haluat asettaa toisen arvon, kerro tarvitsemasi summa gigatavuina 1024:llä (muuttujan arvon on oltava megatavuina).
- Klikkaa OK Tallenna muutokset ja napsauta sitten Käytä ja lopuksi napsauta OK vielä kerran. Käynnistä projekti uudelleen, jotta muutokset tulevat voimaan.
Voit myös asettaa ympäristömuuttujan Windows PowerShell -päätteen kautta.
Käynnistä PowerShell-pääte, kirjoita alla oleva komento ja paina Enter:
$env: NODE_OPTIONS="--max-old-space-size=4096"
Jos haluat kasvattaa keon muistia vain tilapäisesti, suorita alla oleva komento PowerShell-päätteessä ennen projektin suorittamista:
aseta NODE_OPTIONS=--max-old-space-size=4096
Kun olet antanut tämän komennon, voit ottaa käyttöön tai suorittaa projektisi käyttämällä npm run dev tai oma käsikirjoitus.
Muista aina syöttää vaadittu muistin koko megatavuina. Jos et tee niin, se voi aiheuttaa odottamatonta toimintaa ohjelmassasi. On myös erittäin tärkeää olla varaamatta koko käytettävissä olevaa muistia, koska tämä voi aiheuttaa merkittävän järjestelmävian.
JavaScript-keon muistin loppuminen -virheen korjaaminen macOS: ssä ja Linuxissa
MacOS: ssa ja Linuxissa keon muistin korjaus on hyvin samanlainen. Sinun pitäisi viedä ympäristömuuttujan joka määrittää Node.js: lle varatun virtuaalimuistin määrän.
Ennen kuin suoritat projektin, kirjoita terminaaliin seuraava komento ja paina Enter:
viedä NODE_OPTIONS=--max-old-space-size=4096
Tämä varaa 4 Gt virtuaalimuistia Node.js: n suoritustilaan. Jos haluat asettaa toisen määrän muistia, vaihda 4096 vaaditulla määrällä megatavuina.
Voit lisätä yllä olevan komennon asetustiedostoon välttääksesi prosessin toistumisen. Voit tehdä tämän noudattamalla samaa PATH-muuttujan asettamisprosessi.
Vältä JavaScript-keon muistin loppuminen -virhe
Voit välttää tämän virheen varmistamalla, että ohjelmassasi ei ole muistivuotoja. Asianmukainen muistin hallinta on ratkaisevan tärkeää, kun kirjoitat ohjelmia, etenkin matalan tason kielellä.
Vaikka varatun muistin lisääminen korjaa ongelman tilapäisesti, sinun tulee löytää perimmäinen syy ja korjata se.