Jawaban singkat: cukup, kalau agent-nya cuma teks, satu atau dua channel chat, dan modelnya lewat API. Tidak cukup kalau lo ikut menumpuk Docker Compose, browser headless, embedding lokal, atau model bahasa lokal di mesin yang sama. Di VPS 3,8 GB milik gue, dua proses agent yang jalan bareng makan 157 MB dan 115 MB RAM, sementara mesin yang sama sudah memakai 1.851 MB dari 3.915 MB. Artinya beban agent itu kecil, beban di sekitarnya yang membunuh. VPS 2 GB menang atau kalah tergantung apa lagi yang lo taruh di sebelahnya.
TL;DR
- Agent teks plus SQLite plus satu channel chat muat di bawah 300 MB RAM observasi.
- Yang bikin 2 GB jebol biasanya bukan agent-nya, tapi Docker Compose, browser, dan model lokal.
- Dokumentasi n8n sendiri minta minimal 4 GB RAM dan 2 vCPU untuk stack Compose dengan sandbox AI.
- Kunci bertahan di 2 GB: swap 2 GB, mode memori FTS5-only, model lewat API, dan batas memori per container.
Berapa RAM yang sebenarnya dipakai sebuah agent AI?
Proses agent itu sendiri kecil. Yang besar adalah teman-temannya: browser, database, container, dan model yang ikut jalan di kotak yang sama. Angka di bawah ini gue ambil langsung dari satu VPS Ubuntu 24.04 dengan RAM 3,8 GB dan swap 6 GB, bukan dari brosur vendor.
Item yang diukur Nilai terukur
MemTotal 4.009.496 kB (3,82 GiB)
MemAvailable 2.128.632 kB (2,03 GiB)
Proses agent #1 (RSS) 161.244 kB (157 MiB)
Proses agent #2 (RSS) 117.992 kB (115 MiB)
Swap terpasang 6.143,99 MB
Swap terpakai (saat ukur) 774 MB
Committed_AS / CommitLimit 6.120.852 / 8.296.196 kB (74%)
Ukuran DB agent (SQLite) 909 MB
Dua hal yang perlu dibaca dari tabel itu. Pertama, agent Rust dengan database 909 MB tetap duduk di kisaran 115 sampai 160 MB RSS. Kedua, mesin itu sudah memakai 1,8 GB walaupun agent-nya cuma segitu, karena ada mail server, DNS filter, monitoring, Tailscale, dan Next.js yang ikut hidup. Jadi pertanyaan “2 GB cukup?” sebenarnya pertanyaan tentang tetangga, bukan tentang agent.
Kalau mau angka pembanding dari dalam kode sumber, README OpenCrabs menyebut build rilisnya berupa satu binary Rust 34 sampai 36 MB, tanpa runtime Node.js dan tanpa node_modules sebesar 1 GB lebih. Binary yang lebih kecil bukan cuma soal disk: tidak ada interpreter yang harus naik dulu sebelum tool pertama dipanggil.
Kapan VPS 2 GB masih cukup?
Cukup kalau beban kerjanya satu agent, satu database, satu channel, dan model diakses lewat API. Kombinasi ini realistis untuk bot Telegram pribadi, cron harian, atau agent yang mengurus inbox dan laporan.
Anggaran kasarnya begini, dan ini rencana alokasi, bukan hasil ukur:
Komponen Target RAM
OS + systemd + journald 180 MB
Agent (binary + SQLite cache) 250 MB
Reverse proxy (Caddy/Nginx) 40 MB
Page cache dan sisa buffer 500 MB
Headroom untuk spike tool call 1000 MB
----------------------------------------------
Total rencana ~1.970 MB dari 2.048 MB
Yang membuat anggaran ini bertahan adalah mode memori. Agent yang mendukung pencarian memori hibrida biasanya menyalakan embedding lokal secara default, dan di mesin kecil itu justru pengeluaran pertama yang harus dimatikan. README OpenCrabs menyebut tiga mode: embedding lokal (model embeddinggemma-300M, 768 dimensi), API embedding, atau FTS5-only yang disebut ramah VPS dengan sekitar nol overhead RAM. Sistemnya juga mendeteksi lingkungan VPS dan mematikan embedding lokal otomatis. Untuk 2 GB, pilih FTS5-only atau API embedding, jangan yang lokal.
Kapan 2 GB berubah jadi jebakan?
Tiga pola paling sering, dan semuanya soal barang tambahan.
Pertama, Docker Compose. Dokumentasi resmi n8n untuk instalasi Docker Compose menulis syarat “at least 4 GB of RAM and 2 vCPUs”, dengan alasan eksplisit: container sandbox-runner-1 yang menjalankan kode hasil AI memakai Docker-in-Docker dan butuh ruang lebih. Kalau stack acuan industri saja minta 4 GB untuk versi AI-nya, mendaratkan stack serupa di 2 GB berarti lo menghemat RAM dengan cara memotong bagian yang justru bikin agent berguna.
Kedua, model lokal. Ini bukan spekulasi ukuran, ini angka dari dokumentasi: model speech-to-text lokal bawaan OpenCrabs tersedia dalam ukuran Tiny 75 MB, Base 142 MB, Small 466 MB, dan Medium 1,5 GB. Satu model Medium saja langsung menghabiskan 73 persen RAM 2 GB sebelum aplikasi lain jalan, dan itu baru STT, belum model bahasa. Untuk model bahasa, jalur yang masuk akal di 2 GB adalah API, bukan bobot model di disk.
Di sinilah pemakaian API model lebih hemat daripada memaksa self-host. Kalau lo butuh akses model tanpa mengurus GPU atau RAM, gateway seperti NgodeAI bisa jadi jalur pintas: bebannya pindah ke sisi provider, VPS lo tinggal menjalankan agent dan menyimpan state.
Ketiga, build di server. Ini pengalaman langsung di mesin 3,8 GB: kompilasi crate Rust besar pernah kena OOM kill sekitar 2,5 GB, dan sejak itu build berat dipindah ke mesin lain atau dijalankan dengan pembatas CPU dan IO. Di 2 GB, kompilasi apa pun yang melibatkan linker dan beberapa job paralel adalah cara tercepat membuat agent lo mati di tengah malam. Build di CI, jalankan di VPS.
💬 Komentar (0)
Belum ada komentar. Jadilah yang pertama! 💬