Bir JavaScript Node.js projesi üzerinde çalışırken sık karşılaşılan bir sorun, “JavaScript yığını yetersiz bellek” hatasıdır. Bu hata genellikle, sisteminiz tarafından Node.js’ye ayrılan varsayılan bellek, büyük bir projeyi çalıştırmak için yeterli olmadığında ortaya çıkar.
Projenizi Windows, macOS veya Ubuntu gibi bir Linux dağıtımında çalıştırsanız da hata yaygındır. Neyse ki, “JavaScript yığını yetersiz bellek” hatasını çözmeye yardımcı olabilecek birkaç kolay düzeltme var.
Yığın Bellek Nedir?
Hatayı düzeltmeye bakmadan önce yığın belleğin ne olduğunu ve programların onu nasıl kullandığını anlamakta fayda var.
bilgisayar kodunda kafatası şekli
Sistem yığınında ayrılan belleğe, dinamik olarak ayrılmış bellek de denir. Mevcut belleği uygun gördükleri şekilde kullanmak programcıya kalmıştır. Daha da önemlisi, bir programın yığın boyutu, kendisine ayrılan kullanılabilir sanal belleğe bağlıdır.
Nispeten büyük bir proje yürütüyorsanız, varsayılan olarak ayrılmış yığından daha fazla bellek gerektirebilir. Bu, projenizin çökmesine ve “JavaScript yığını yetersiz bellek” hatasının günlüğe kaydedilmesine neden olabilir.
Windows’ta JavaScript Yığını Yetersiz Bellek Nasıl Onarılır
IDE’nizden bağımsız olarak, “JavaScript yığını yetersiz bellek” düzeltmesi aynıdır.
Bir Node.js projesine ayrılan belleği artırmak için Denetim Masası aracılığıyla bir ortam değişkeni ekleyebilirsiniz .
Başlat menüsünü açın, Gelişmiş Sistem Ayarları öğesini arayın ve En İyi eşleşmeyi seçin.
İletişim kutusundan Ortam Değişkenleri’ne tıklayın , ardından Sistem değişkenlerinden veya Kullanıcı değişkenlerinden Yeni’ye tıklayın . İlki, bilgisayarınızdaki tüm kullanıcılar için geçerlidir, ikincisi ise yalnızca cari hesabınızı etkiler.
Değişken adı alanına NODE_OPTIONS girin . Değişken değeri alanına –max -old-space-size=4096 girin . Bu değer, Node.js’ye 4 GB sanal bellek ayıracaktır. Farklı bir değer ayarlamak için GB cinsinden ihtiyacınız olan miktarı 1024 ile çarpın (değişken değerinin MB cinsinden olması gerekir).
Ad ve değer alanları içeren yeni bir ortam değişkenini gösteren bir Windows iletişim kutusu
Değişikliklerinizi kaydetmek için Tamam’a tıklayın , ardından Uygula’ya tıklayın ve son olarak bir kez daha Tamam’a tıklayın. Değişikliklerin etkili olması için projenizi yeniden başlatın.
Ayrıca bir Windows PowerShell terminali aracılığıyla bir ortam değişkeni ayarlayabilirsiniz.
Bir PowerShell terminali başlatın, aşağıdaki komutu yazın ve Enter tuşuna basın:
$env:NODE_OPTIONS=”–max-old-space-size=4096″
Yığın belleğini yalnızca geçici olarak artırmak istiyorsanız, projenizi çalıştırmadan önce bir PowerShell terminalinde aşağıdaki komutu çalıştırın:
set NODE_OPTIONS=–max-old-space-size=4096
Bu komutu girdikten sonra, projenizi npm run dev veya kendi betiğinizi kullanarak konuşlandırabilir/çalıştırabilirsiniz.
Her zaman gerekli bellek boyutunu MB cinsinden girmeyi unutmayın. Bunu yapmamak, programınızda beklenmeyen davranışlara neden olabilir. Önemli bir sistem arızasına neden olabileceğinden, kullanılabilir belleğinizin tamamını ayırmamak da çok önemlidir.
macOS ve Linux’ta JavaScript Yığını Yetersiz Bellek Hatası Nasıl Onarılır
macOS ve Linux’ta yığın bellek düzeltmesi çok benzer. Node.js’ye ayrılan sanal bellek miktarını belirten bir ortam değişkeni vermelisiniz.
Terminalinizde, projenizi çalıştırmadan önce aşağıdaki komutu girin ve Enter tuşuna basın:
export NODE_OPTIONS=–max-old-space-size=4096
Bu, Node.js’nin yürütme alanına 4 GB sanal bellek ayıracaktır. Farklı bir bellek miktarı ayarlamak için, 4096’yı MB cinsinden gerekli miktarla değiştirin.
İşlemi tekrarlamaktan kaçınmak için yukarıdaki komutu yapılandırma dosyanıza ekleyebilirsiniz. Bunu yapmak için , PATH değişkeninizi ayarlamak için aynı işlemi uygulayın .
JavaScript Yığını Yetersiz Bellek Hatasından Kaçının
Programınızın bellek sızıntısı içermediğinden emin olarak bu hatayı önleyebilirsiniz. Özellikle düşük seviyeli bir dilde programlarınızı yazarken uygun bellek yönetimi çok önemlidir.
Ayrılan belleği artırmak sorunu geçici olarak çözecek olsa da, temel nedeni bulup düzeltmeniz gerekir.