Çoğu insan RAM'ini tahminle seçer. Ya “ne olur ne olmaz” diye fazlasıyla alır ya da OOM killer ile gece 3'te tanışır. Aslında bellek, boyutlandırması en kolay şeylerden biridir, çünkü kabaca rakamları bildiğinizde iş yükleri öngörülebilirdir. İşte bot için 1 GB'lık bir makineden, büyük bir modeli yerel olarak çalıştırmak isteyenlerin aradığı 64 GB'lık sunuculara kadar o rakamlar.
İş yüküne göre kabaca rakamlar
Bunlar tipik bir kurulum için kararlı durumdaki gerçek değerlerdir, üreticilerin minimum gereksinimleri değil.
| İş yükü | Gerçekte kullandığı RAM | Uygun plan |
|---|---|---|
| Telegram/Discord botu (Python, Node.js) | 100–300 MB | Nano 1 GB |
| Statik site + Caddy/Nginx | 50–150 MB | Nano 1 GB |
| WordPress + MariaDB, normal trafik | 0,8–1,5 GB | Micro-IP 2 GB |
| Küçük bir uygulama için PostgreSQL | 0,5–2 GB (shared_buffers ile siz belirlersiniz) | Micro / Small |
| Birkaç iş akışıyla n8n | 0,5–1,5 GB | Micro 2 GB |
| 5–10 küçük hizmetli Docker sunucusu | 2–4 GB | Small 4 GB |
| Coolify + derlemeler + bir veritabanı | 3–4 GB | Small-IP 4 GB |
| 7–8B LLM, 4 bit, CPU'da çıkarım | 5–6 GB | Medium 6 GB |
| 14B LLM, 4 bit | ~10 GB | Pro-32 |
| 32B LLM, 4 bit | ~20 GB | Pro-32 |
| 70B LLM, 4 bit | ~40–45 GB | Pro-48 / Pro-64 |
İki şey dikkat çekiyor. Birincisi, “normal” iş yükleriyle LLM'ler arasındaki sıçrama muazzamdır: bir botla 70B bir model arasında iki yüz katlık fark vardır. İkincisi, çoğu hizmet 1–4 GB ile gayet iyi çalışır; insanlar nadiren gelen bir gelecek için boyutlandırdıkları için fazla satın alır.
LLM formülü
Dil modelleri için basit bir tahmin vardır: parametre sayısı × ağırlık başına bit ÷ 8, artı ek yük. Yaklaşık 4,5 bitlik (tipik bir Q4 kuantizasyonu) 8B bir model 8 × 4,5 ÷ 8 ≈ 4,5 GB ağırlık eder. Bağlam penceresi (KV önbelleği bağlam uzunluğuyla büyür) ve çalışma ortamı için 1–2 GB ekleyin, 5–6 GB'a ulaşırsınız.
Dürüst kısım: yalnızca CPU'lu sunucularda bellek hikâyenin yarısıdır. Birkaç vCPU'da 7–8B modeller için saniyede tek haneli token, 70B için saniyede yaklaşık bir token bekleyin. Bu toplu işler, arka plan ajanları ve özel denemeler için yeterlidir; çok sayıda eşzamanlı kullanıcı için bir sohbet deneyimi değildir. Çoğunlukla barındırılan model API'lerini çağırıyorsanız ajanınızın çok daha azına ihtiyacı vardır: bkz. AI ajanları için VPS boyutlandırma.
Tahmin etmek yerine ölçün
Zaten bir sunucunuz varsa rakamlar hemen orada:
free -h # look at "available", not "free"
ps aux --sort=-rss | head -n 8 # the biggest processes, by resident memory
docker stats --no-stream # per-container usage
Linux boştaki RAM'i disk önbelleği olarak kullanır, bu yüzden “free” her zaman küçüktür ve bu sağlıklıdır. Önemli olan available değeridir: çekirdeğin şu anda programlara verebileceği bellek. En yoğun saatinizde available ~%25'in üzerinde kalıyorsa boyutlandırma doğrudur. Düzenli olarak sıfıra iniyor ve swap büyüyorsa bir üst plana geçin.
Geçmişte OOM sonlandırmaları olup olmadığını da kontrol edin:
journalctl -k | grep -i "out of memory"
Swap: motor değil, emniyet kemeri
Küçük bir sunucuda 1–2 GB'lık bir swap dosyası ucuz bir sigortadır: kısa süreliğine daha fazla bellek isteyen bir paket güncellemesi veya Docker derlemesi sonlandırılmak yerine hayatta kalır. Ancak bir hizmet swap'ta yaşıyorsa her istek diski bekler. Swap ani yükselmeler içindir. Sürekli swap kullanımı, bir sonraki plana ihtiyacınız olduğu anlamına gelir.
Peki ne kadar almalısınız?
- 1 GB: bir bot, küçük bir API, statik bir site.
- 2 GB: veritabanı veya Docker içeren her şey için makul varsayılan.
- 4–6 GB: aynı makinede birkaç hizmet, sunucuda derleme, küçük bir yerel model.
- 32–64 GB: yalnızca büyük bir şeyin bellekte yaşaması gerektiğinde: 14B'nin üzerinde yerel bir model, büyük bir RAG dizini, bir ajan filosu. Yüksek bellekli planlar bunun içindir.
İçgüdünüzün söylediğinden bir boy küçükle başlayın, bir hafta boyunca free -h değerini izleyin ve rakamlar söylüyorsa yükseltin. EQVPS'te plan yükseltmesi verilerinizi korur ve yalnızca orantılı farkı tahsil eder (plan değişiklikleri nasıl çalışır).
Yorumlar
Henüz yorum yok. İlk olun.