06 Jul 2025

Bikin Next.js Lebih Ringan dengan Jemalloc di Ubuntu

Bikin Next.js Lebih Ringan dengan Jemalloc di Ubuntu

🚀 Bikin Next.js Lebih Ringan dengan Jemalloc di Ubuntu

Kalau kita pakai Next.js (v14 atau v15) untuk aplikasi web, apalagi yang jalan terus 24 jam tanpa mati, kadang bakal nemu masalah memori yang makin lama makin bengkak. Ini biasanya disebabkan oleh fragmentasi memori karena Node.js pakai allocator bawaan dari Linux (glibc).

Nah, ada solusinya: jemalloc — memory allocator alternatif yang bisa bantu bikin performa aplikasi kamu jadi lebih stabil dan hemat memori.


Apa Itu Jemalloc?

Jemalloc adalah singkatan dari Jason Evans Malloc, yaitu pustaka alokasi memori yang lebih efisien dibandingkan yang dipakai default oleh Linux.

Dengan jemalloc: - Fragmentasi memori bisa berkurang - Penggunaan RAM lebih stabil - Cocok banget buat aplikasi seperti Next.js yang multi-threaded dan jalan terus di server


Cara Pakainya di Ubuntu + PM2

1. Install jemalloc dulu

sudo apt update
sudo apt install libjemalloc2

2. Jalankan Next.js lewat PM2

Misalnya kamu punya Next.js app dan biasanya jalanin pakai:

npm run start

Kalau pakai PM2, ubah jadi:

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2 pm2 start npm --name "my-nextjs" -- run start -- -p 3005

📌 Dengan LD_PRELOAD, kita nyuruh Node.js untuk pakai jemalloc.


Cara Cek: Apakah Jemalloc Sudah Aktif?

  1. Cari PID proses Node.js kamu:
pm2 info my-nextjs
  1. Lalu cek apakah jemalloc diload:
cat /proc/<PID>/maps | grep jemalloc

Kalau muncul path ke libjemalloc.so.2, artinya berhasil!


Apakah Ini Pengaruh ke Laravel?

Tenang, tidak berpengaruh. Jemalloc cuma aktif di proses yang pakai LD_PRELOAD. Jadi kalau Laravel kamu jalan lewat PHP-FPM atau Nginx/Apache, gak akan terpengaruh.


Next.js 15 Gimana?

Sama aja! Versi 15 tetap bisa pakai jemalloc dengan cara yang sama, karena intinya ini ada di level Node.js, bukan Next.js-nya.


Perlu Install sharp Gak?

Kalau kamu: - Pakai komponen next/image - Mau optimasi gambar secara otomatis

👉 Maka ya, kamu harus install sharp:

npm install sharp

Kalau gak, Next.js akan fallback ke image loader bawaan yang lebih lambat.


Penutup

Pakai jemalloc buat Next.js kamu itu cara gampang buat:

  • Kurangi beban RAM
  • Bikin performa lebih stabil
  • Nggak perlu ubah banyak kode

Ringkasan

Sebelum (glibc) Sesudah (jemalloc)
Memori cepat bengkak Lebih stabil
Fragmentasi tinggi Fragmentasi minim
Bisa bikin crash Lebih tahan lama

Selamat mencoba, semoga performa aplikasi Next.js kamu makin kencang dan irit RAM!

No comments yet

Name
Comment
Max 1000 chars