Bir JavaScript Node.js projesi üzerinde çalışırken yaygın 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 bu 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 anlayın ve programların bunu nasıl kullandığı.
Sistem öbeğinde 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ılan yığından daha fazla bellek gerektirebilir. Bu, projenizin çökmesine ve "JavaScript yığın yetersiz bellek" hatasını günlüğe kaydetmesine neden olabilir.
Windows'ta JavaScript Yığın Yetersiz Bellek Nasıl Onarılır
IDE'niz ne olursa olsun, "JavaScript bellek yetersiz" düzeltmesi aynıdır.
Yapabilirsiniz Denetim Masası aracılığıyla bir ortam değişkeni ekleyin bir Node.js projesine ayrılan belleği artırmak için.
- Aç Başlangıç menüsü, aramak Gelişmiş sistem Ayarlarıve En iyi eşleşmeyi seçin.
- İletişim kutusundan, üzerine tıklayın Ortam Değişkenleri, ardından üzerine tıklayın Yeni ikisinden de Sistem değişkenleri veya Kullanıcı değişkenleri. İlki bilgisayarınızdaki tüm kullanıcılar için geçerlidir, ikincisi ise yalnızca mevcut hesabınızı etkiler.
- İçinde Değişken ismi alan girişi NODE_OPTIONS. İçinde değişken değer alan girişi --max-eski-alan-boyutu=4096. Bu değer, Node.js'ye 4 GB sanal bellek tahsis edecektir. Farklı bir değer ayarlamak için GB cinsinden istediğiniz miktarı 1024 ile çarpın (değişken değerin MB cinsinden olması gerekir).
- Tıklamak TAMAM değişikliklerinizi kaydetmek için, ardından Uygulamak ve son olarak tıklayın TAMAM bir kez daha. Değişikliklerin etkili olması için projenizi yeniden başlatın.
Windows PowerShell terminali aracılığıyla da 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-eski-alan-boyutu=4096"
Yalnızca yığın belleği geçici olarak artırmak istiyorsanız, projenizi çalıştırmadan önce bir PowerShell terminalinde aşağıdaki komutu çalıştırın:
Ayarlamak NODE_OPTIONS=--max-eski-alan-boyutu=4096
Bu komutu girdikten sonra, projenizi kullanarak dağıtabilir/çalıştırabilirsiniz. npm çalıştırma dev veya kendi senaryonuz.
Her zaman gerekli bellek boyutunu MB olarak 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 Düzeltilir
macOS ve Linux'ta yığın bellek düzeltmesi çok benzer. Malısın bir ortam değişkenini dışa aktar Node.js'ye ayrılan sanal bellek miktarını belirtir.
Terminalinizde projenizi çalıştırmadan önce aşağıdaki komutu girin ve Enter tuşuna basın:
ihracat NODE_OPTIONS=--max-eski-alan-boyutu=4096
Bu, Node.js'nin yürütme alanına 4 GB sanal bellek tahsis edecektir. Farklı bir bellek miktarı ayarlamak için, 4096 MB cinsinden gerekli miktar ile.
İşlemin tekrarlanmasını önlemek için yukarıdaki komutu yapılandırma dosyanıza ekleyebilirsiniz. Bunun için aynı yolu izleyin PATH değişkeninizi ayarlama işlemi.
JavaScript Yığın Yetersiz Bellek Hatasından Kaçının
Programınızda bellek sızıntısı olmadığından emin olarak bu hatayı önleyebilirsiniz. Programlarınızı, özellikle düşük seviyeli bir dilde yazarken, uygun bellek yönetimi çok önemlidir.
Ayrılan belleği artırmak sorunu geçici olarak çözecek olsa da, asıl nedeni bulup düzeltmeniz gerekir.