Masalah umum saat mengerjakan proyek JavaScript Node.js adalah kesalahan "JavaScript heap out of memory". Kesalahan ini biasanya terjadi ketika memori default yang dialokasikan oleh sistem Anda ke Node.js tidak cukup untuk menjalankan proyek besar.
Kesalahan ini umum terjadi baik Anda menjalankan proyek di Windows, macOS, atau distribusi Linux seperti Ubuntu. Untungnya, ada beberapa perbaikan mudah yang dapat membantu menyelesaikan kesalahan "JavaScript heap out of memory".
Apa itu Memori Heap?
Sebelum Anda melihat memperbaiki kesalahan, ada baiknya untuk pahami apa itu memori tumpukan dan bagaimana program menggunakannya.
Memori yang dialokasikan pada tumpukan sistem juga disebut memori yang dialokasikan secara dinamis. Terserah programmer untuk menggunakan memori yang tersedia sesuai keinginan mereka. Lebih penting lagi, ukuran tumpukan untuk suatu program tergantung pada memori virtual yang tersedia yang dialokasikan untuk itu.
Jika Anda menjalankan proyek yang relatif besar, mungkin memerlukan lebih banyak memori daripada potongan yang dialokasikan secara default. Ini dapat menyebabkan proyek Anda mogok dan mencatat kesalahan "JavaScript heap out of memory".
Cara Memperbaiki Javascript Heap Out of Memory di Windows
Terlepas dari IDE Anda, perbaikan "JavaScript heap out of memory" identik.
Kamu bisa tambahkan variabel lingkungan melalui Control Panel untuk menambah memori yang dialokasikan ke proyek Node.js.
- Buka Mulai menu, pencarian untuk Pengaturan Sistem Lanjut, dan pilih yang paling cocok.
- Dari kotak dialog, klik Variabel Lingkungan, lalu klik Baru dari keduanya Variabel sistem atau Variabel pengguna. Yang pertama berlaku untuk semua pengguna di komputer Anda, sedangkan yang kedua hanya memengaruhi akun Anda saat ini
- Dalam Nama variabel masuk lapangan NODE_OPTIONS. Dalam Nilai variabel masuk lapangan --max-old-space-size=4096. Nilai ini akan mengalokasikan 4GB memori virtual ke Node.js. Untuk menetapkan nilai yang berbeda, kalikan jumlah yang Anda butuhkan dalam GB dengan 1024 (nilai variabel harus dalam MB).
- Klik Oke untuk menyimpan perubahan Anda, lalu klik Berlaku dan terakhir klik Oke sekali lagi. Mulai ulang proyek Anda agar perubahan diterapkan.
Anda juga dapat mengatur variabel lingkungan melalui terminal Windows PowerShell.
Luncurkan terminal PowerShell, ketik perintah di bawah ini dan tekan Enter:
$env: NODE_OPTIONS="--max-old-space-size=4096"
Jika Anda hanya ingin menambah memori heap untuk sementara, jalankan perintah di bawah ini di terminal PowerShell sebelum menjalankan proyek Anda:
mengatur NODE_OPTIONS=--max-old-space-size=4096
Setelah Anda memasukkan perintah ini, Anda dapat menerapkan/menjalankan proyek Anda menggunakan npm menjalankan dev atau skrip Anda sendiri.
Ingatlah selalu untuk memasukkan ukuran memori yang diperlukan dalam MB. Tidak melakukannya dapat menyebabkan perilaku tak terduga dalam program Anda. Penting juga untuk tidak mengalokasikan seluruh memori yang tersedia karena ini dapat menyebabkan kegagalan sistem yang signifikan.
Cara Memperbaiki Kesalahan JavaScript Heap Out of Memory di macOS dan Linux
Di macOS dan Linux, perbaikan memori heap sangat mirip. Anda harus mengekspor variabel lingkungan yang menentukan jumlah memori virtual yang dialokasikan ke Node.js.
Di terminal Anda, sebelum Anda menjalankan proyek Anda, masukkan perintah berikut dan tekan Enter:
ekspor NODE_OPTIONS=--max-old-space-size=4096
Ini akan mengalokasikan 4GB memori virtual ke ruang eksekusi Node.js. Untuk mengatur jumlah memori yang berbeda, ganti 4096 dengan jumlah yang dibutuhkan dalam MB.
Anda dapat menambahkan perintah di atas ke file konfigurasi Anda untuk menghindari pengulangan proses. Untuk melakukannya, ikuti yang sama proses untuk mengatur variabel PATH Anda.
Hindari JavaScript Heap Out of Memory Error
Anda dapat menghindari kesalahan ini dengan memastikan program Anda bebas dari kebocoran memori. Manajemen memori yang tepat sangat penting saat menulis program Anda, terutama dalam bahasa tingkat rendah.
Sambil meningkatkan memori yang dialokasikan untuk sementara akan memperbaiki masalah, Anda harus menemukan akar masalahnya dan memperbaikinya.