Ubuntu Server’da Memory Swapping Analizi

Ubuntu Server ortamlarında bellek yönetimi, sistem performansını doğrudan etkileyen kritik bir unsurdur.

Reklam Alanı

Ubuntu Server ortamlarında bellek yönetimi, sistem performansını doğrudan etkileyen kritik bir unsurdur. Memory swapping, fiziksel RAM kapasitesinin yetersiz kaldığı durumlarda, bellek sayfalarının disk tabanlı swap alanına taşınması işlemidir. Bu süreç, sunucunun kesintisiz çalışmasını sağlar ancak aşırı kullanımda I/O yükünü artırarak gecikmelere yol açabilir. Bu makalede, Ubuntu Server’da swapping’i analiz etme yöntemlerini adım adım inceleyerek, sistem yöneticilerine pratik araçlar ve optimizasyon stratejileri sunacağız. Swapping analizini yaparak, kaynak kullanımını optimize edebilir ve sunucu verimliliğini artırabilirsiniz.

Swapping Mekanizmasını İzleme ve Temel Analiz

Ubuntu Server’da swapping durumunu izlemek için öncelikle sistemin mevcut bellek kullanımını anlamak gerekir. free -h komutu, toplam RAM, kullanılan bellek, swap alanı ve önbellek bilgilerini net bir şekilde gösterir. Örneğin, swap satırında kullanılan değerin yüksek olması, sistemin fiziksel belleğe bağımlı hale geldiğini işaret eder. Bu komutla düzenli olarak snapshot’lar alarak trendleri takip edebilirsiniz.

Daha detaylı analiz için vmstat aracını kullanın. vmstat 1 10 komutu, her saniyede bir 10 örnek verir ve si (swap in) ile so (swap out) sütunlarını izleyerek takas trafiğini ölçer. Yüksek si/so değerleri, bellek baskısının arttığını gösterir. Ayrıca top veya htop ile süreç bazında bellek kullanımını inceleyin; %MEM sütunu yüksek olan süreçleri tespit ederek sorunlu uygulamaları belirleyin. Bu araçlar, swapping’in nedenlerini hızlıca teşhis etmenizi sağlar ve proaktif müdahale imkanı verir.

  • free -h: Anlık bellek özeti için temel komut.
  • vmstat 5 20: 5 saniyelik aralıklarla 20 örnekle uzun vadeli izleme.
  • cat /proc/meminfo | grep Swap: Swap detayları için dosya tabanlı sorgu.

Swappiness Parametresi ve İnce Ayar Yapma

Swappiness Nedir ve Nasıl Değerlendirilir?

Swappiness, Linux kernel’inin swapping eğilimini belirleyen bir parametredir (0-100 arası). Varsayılan değer Ubuntu’da genellikle 60’tır; yüksek değerler swapping’i teşvik ederken, düşük değerler RAM kullanımını önceler. cat /proc/sys/vm/swappiness ile mevcut değeri kontrol edin. Yoğun I/O yapan sunucularda (örneğin veritabanı), swappiness’i 10’a düşürmek, disk yazma trafiğini azaltarak performansı %20-30 oranında iyileştirebilir. Değeri analiz ederken, vmstat ile eş zamanlı swap aktivitesini gözlemleyin.

Swappiness Ayarlama Adımları

Kalıcı swappiness ayarı için sudo sysctl vm.swappiness=10 ile geçici değişiklik yapın, ardından sudo nano /etc/sysctl.conf dosyasını düzenleyerek vm.swappiness=10 satırını ekleyin ve sudo sysctl -p ile uygulayın. Değişiklik sonrası free -h ve vmstat ile doğrulayın. Bu ayar, bellek yoğun uygulamalarda (Apache, MySQL) swapping’i minimize eder. Test ortamında önce uygulayın; üretimde rolling restart ile riski yönetin. Ayar sonrası logları (/var/log/syslog) inceleyerek OOM killer olaylarını kontrol edin.

İleri Düzey Optimizasyon ve Pratik Uygulamalar

Swapping’i tamamen önlemek için swap dosyasını geçici olarak devre dışı bırakabilirsiniz: sudo swapoff -a. Bu, RAM’i zorlayarak sorunlu süreçleri ortaya çıkarır ancak dikkatli olun, çünkü yetersiz RAM’de sistem çökebilir. Kalıcı çözüm için RAM’i artırın veya uygulamaları optimize edin. Örneğin, MySQL için innodb_buffer_pool_size‘ı RAM’in %70’ine ayarlayın. smem aracıyla (sudo apt install smem) süreçlerin gerçek bellek kullanımını (USS, PSS, RSS) analiz edin; bu, swapping kaynaklarını hassas şekilde belirler.

Otomatik izleme için cron job kurun: crontab -e ile */5 * * * * vmstat 1 5 >> /var/log/memswap.log ekleyin. Logları grep 'si\|so' /var/log/memswap.log ile filtreleyin. Bu yaklaşım, 7/24 sunucu yönetimi için idealdir. Ayrıca, /proc/swaps dosyasını izleyerek aktif swap partition’larını listeleyin ve gerekirse swapon --show ile yönetin. Bu stratejilerle, Ubuntu Server’ınızın bellek verimliliğini maksimize edebilirsiniz.

Swapping analizi, Ubuntu Server yönetiminde vazgeçilmez bir beceridir. Düzenli izleme, parametre ince ayarları ve optimizasyon adımları uygulayarak, sisteminizin kararlılığını ve hızını önemli ölçüde artırabilirsiniz. Bu yöntemleri kendi ortamınıza uyarlayarak, kaynak israfını önleyin ve kurumsal düzeyde performans elde edin.

Kategori: Genel
Yazar: Editör
İçerik: 519 kelime
Okuma Süresi: 4 dakika
Zaman: Bugün
Yayım: 14-03-2026
Güncelleme: 14-03-2026
Benzer İçerikler
Genel kategorisinden ilginize çekebilecek benzer içerikler