Son gözden geçirme: Eylül 2026 · Ubuntu 24.04 ve Linux çekirdeği resmî dokümanına göre
Hızlı çözüm
Out of memory: Killed process 1234 (mysqld) — Linux out of memory durumunda RAM ve swap tükenince çekirdeğin OOM killer’ı en çok bellek tutan süreci sonlandırır; site aniden kapanır, veritabanı “kendiliğinden” durur. Çözüm önce hangi sürecin öldürüldüğünü bulmak, sonra o servisin bellek ayarını küçültmektir.
sudo dmesg -T | grep -iE "out of memory|killed process" ile olayı ve süreci bulun.free -h ve ps aux --sort=-%mem | head ile belleği kimin kullandığını görün.| Panel | Yok — VPS/VDS yönetimsizdir; teşhis sunucunuzda SSH ile yapılır |
|---|---|
| Sistem | Ubuntu 22.04/24.04, Debian 12, AlmaLinux 8/9, Rocky 9 |
| Yetki | root ya da sudo yetkili kullanıcı |
| Narhost ürünü | VPS Sunucu, VDS Sunucu |
Başlamadan önce
Linux, süreçlere fiziksel bellekten fazlasını vaat edebilir (overcommit). Süreçler bu vaadi aynı anda kullanmaya kalkınca ve swap da dolunca çekirdek sistemi ayakta tutmak için bir süreci seçip öldürür. Seçim her sürecin bellek kullanımından hesaplanan oom_score değerine göre yapılır; genellikle en büyük süreç, yani MySQL/MariaDB, PHP-FPM ya da Java uygulaması gider. Ayarların tamamı çekirdeğin vm dokümanında anlatılır.
Tipik tablo: gece yedek betiği ya da bot trafiği sırasında PHP-FPM süreç sayısı artar, her biri yüzlerce MB tutar, veritabanı arabelleği de RAM’in büyük kısmını ayırmıştır. Swap’ı olmayan küçük bir VPS’te bu birkaç saniyede OOM ile biter.
sudo dmesg -T | grep -iE "out of memory|killed process"
sudo journalctl -k --since "2 days ago" | grep -i "killed process"
Beklenen sonuç: Out of memory: Killed process 1234 (mysqld) total-vm:...kB, anon-rss:...kB biçiminde bir satır. Parantez içi süreç adı, anon-rss ise öldürüldüğü andaki gerçek bellek kullanımıdır.
sudo journalctl -k -b -1 | grep -i "out of memory"
Beklenen sonuç: kalıcı günlük açıksa bir önceki açılışın OOM satırları; ayrıntılı okuma için log dosyaları kartına bakın.
free -h
ps aux --sort=-%mem | head -n 10
Beklenen sonuç: free çıktısında available sütunu gerçekten kullanılabilir belleği, Swap satırı swap alanını gösterir. 0B ise swap yoktur. Canlı izleme için top ve htop kullanın.
/etc/php/8.3/fpm/pool.d/www.conf dosyasındaki pm.max_children değeri, PHP’ye ayırdığınız belleğin bir sürecin ortalama boyutuna bölümünü geçmemelidir:
ps -C php-fpm8.3 -o rss= | awk '{s+=$1; n++} END {print s/n/1024 " MB"}'
Beklenen sonuç: süreç başına ortalama MB. Örneğin PHP’ye 2 GB ayırdıysanız ve süreç 80 MB ise pm.max_children = 25 üst sınırdır.
innodb_buffer_pool_size değeri, web sunucusu da aynı makinedeyse toplam RAM’in yarısını geçmesin; bağlantı sayısı da bellekle birlikte hesaplanır.sudo systemctl edit mariadb ile açılan dosyaya yazın:
[Service]
OOMScoreAdjust=-500
Beklenen sonuç: sudo systemctl restart mariadb sonrası çekirdek önce başka süreçleri seçer. Bu sorunu çözmez, yalnız kurbanı değiştirir.

Sonuç
Ayarlardan sonra yoğun saatlerde free -h çıktısında available değeri toplam RAM’in belirgin bir kısmı olarak kalıyor ve dmesg -T yeni bir Killed process satırı göstermiyorsa sorun çözülmüştür. Birkaç gün boyunca aynı kontrolü tekrarlayın.
vmstat 1 çıktısında si/so sütunları sürekli sıfırdan büyükse RAM gerçekten yetmiyordur; ayar değil kapasite sorunudur.Narhost desteği
Talebe şunları ekleyin: sunucunuzun IP adresi, dmesg çıktısındaki OOM satırı, free -h çıktısı ve olayın saati. Sunucu içi ayarlar sizin yönetiminizdedir; paket yükseltme için de talep açabilirsiniz.
Sonraki adımlar
Evet. available değerini ve swap kullanımını düzenli izleyin; bellek toplamın küçük bir kısmına düştüğünde uyarı veren basit bir izleme betiği ya da araç kurmak, OOM’dan önce müdahale etme şansı verir.
Hayır. Kapatıldığında bellek bittiğinde sunucu tamamen kilitlenir ya da çekirdek paniğe düşer. Doğru yol süreçlerin bellek sınırını ayarlamaktır.
Tutmaz. Swap diskte olduğu için RAM’den çok yavaştır; kısa zirveleri karşılar, sürekli ihtiyaçta sunucuyu yavaşlatır.
Bu makale sorununuzu çözdü mü?
Geri bildiriminiz için teşekkürler.
Çözemediniz mi?
Teknik ekibimiz sunucu tarafındaki ayarları sizin için kontrol edebilir. Destek talebinizde alan adınızı ve aldığınız hata metnini paylaşmanız süreci hızlandırır.