Linux Sunucularda RAM Önbelleği (Cache) Temizleme ve Bellek Yönetimi

Linux işletim sistemleri, sunucu performansını en üst düzeye çıkarmak için boşta kalan RAM miktarını dosya sistemi, dizin ve inode verilerini önbelleğe alarak (PageCache, Dentries ve Inodes) değerlendirir. "Boş RAM, israf edilmiş RAM'dir" prensibiyle çalışan Linux kernel yapısı, ihtiyaç anında bu önbelleği otomatik olarak gerçek süreçlerin kullanımına tahsis eder.

Ancak yüksek trafikli web sunucularında, test süreçlerinde veya belirli uygulama davranışlarında önbellekte biriken verileri manuel olarak boşaltarak RAM üzerinde anlık yer açmak gerekebilir.

Bu rehberde, Linux VDS sunucularınızda RAM önbelleğini SSH üzerinden nasıl güvenle temizleyeceğinizi ve bellek durumunu nasıl analiz edeceğinizi adım adım inceliyoruz.

1. Temizlik Öncesi Önemli Adım: sync Komutu

Önbelleği temizleme komutlarını çalıştırmadan önce, bellekte bekleyen ancak henüz diske yazılmamış verilerin kaybolmaması ve veri bütünlüğünün korunması için sync komutunu çalıştırmalısınız. sync komutu, tampon bellekteki tüm verileri diske yazmaya zorlar.


sync

2. Linux RAM Önbellek Temizleme Komutları

Linux kernel seviyesinde önbellek temizliği yapabilmek için root yetkisine sahip olmanız gerekir. Temizlemek istediğiniz önbellek türüne göre aşağıdaki yöntemlerden uygun olanı seçebilirsiniz:

A. Sadece Sayfa Önbelleğini (PageCache) Temizleme

Yalnızca okunan dosya içeriklerine ait önbelleği siler:


echo 1 > /proc/sys/vm/drop_caches

B. Dizin (Dentries) ve Inode Önbelleğini Temizleme

Dosya ve klasör dizin yapılarına ait önbellek kayıtlarını siler:


echo 2 > /proc/sys/vm/drop_caches

C. Tüm Önbelleği (PageCache, Dentries ve Inodes) Temizleme

Tüm RAM önbelleğini tamamen boşaltarak maksimum seviyede RAM alanı açar:


echo 3 > /proc/sys/vm/drop_caches

3. Yetki (Permission Denied) Hatalarını Aşmak

Eğer sudo yetkisine sahip bir kullanıcı ile işlem yapıyor ve "Permission denied" hatası alıyorsanız, yönlendirme (>) işlemini sh -c ile kapsayarak çalıştırmanız gerekir:


# Tüm önbelleği güvenli şekilde temizlemek için:
sudo sh -c "sync; echo 3 > /proc/sys/vm/drop_caches"

4. RAM Durumunu Kontrol Etme (free Komutu)

Temizlik öncesinde ve sonrasında sunucunuzun aktif bellek kullanımını incelemek için free komutundan yararlanabilirsiniz:


# Okunabilir boyut birimleriyle (MB / GB) görüntülemek için:
free -h

# Megabayt cinsinden detaylı çıktı almak için:
free -m

free -h Çıktısındaki Alanların Anlamı:

  • total: Sunucunun toplam fiziksel RAM miktarı.

  • used: Sistem süreçleri ve uygulamalar tarafından aktif olarak kullanılan RAM.

  • free: Tamamen boşta duran, kullanılmayan RAM.

  • buff/cache: Kernel tarafından önbelleğe alınan (temizlenebilir) veri miktarı.

  • available: Yeni bir uygulama başlatıldığında swap kullanmadan hemen tahsis edilebilecek gerçek kullanılabilir bellek.

5. Otomatik Önbellek Temizleme (Cron Job Yapılandırması)

Büyük veri işleyen veya sürekli bellek sızıntısı yaşayan özel uygulamalarda önbelleğin belirli aralıklarla otomatik temizlenmesini isteyebilirsiniz.

Bunun için crontab -e komutu ile cron dosyanızı açıp aşağıdaki satırı ekleyebilirsiniz:


# Her gece saat 04:00'te RAM önbelleğini otomatik temizler
0 4 * * * sh -c "sync; echo 3 > /proc/sys/vm/drop_caches"

DoğruHost Sunucu Performansı Uyarısı: Önbellek temizleme işlemini her 5 dakikada bir çalıştırmak, Linux'un doğal performans optimizasyonunu devre dışı bırakır ve diske ekstra okuma/yazma (I/O) yükü getirerek sitelerinizin yavaşlamasına neden olabilir. Bu nedenle önbellek temizliğini yalnızca ihtiyaç anlarında veya gece saatlerinde periyodik olarak çalıştırmanız önerilir.

DoğruHost altyapısındaki yüksek hızlı NVMe SSD sunucularınızın bellek ve kaynak optimizasyonu hakkında sorularınız için teknik ekibimize destek talebi üzerinden 7/24 ulaşabilirsiniz.

Let’s get started

Choose the hosting provider who makes it easy and fast to create websites. Completely risk free with our 30-day money back guarantee.