Sorun Giderme · Sunucu ve Sanallaştırma
VM Bellek Ballooning ve Host Swap Sorun Giderme
Balloon sürücüsü konuk belleğini geri kazanarak hosta alan sağlayabilir. Konukta serbest bellek azalırken host swap’a düşüyorsa iki farklı baskı katmanı vardır. Hostun boş bellek sayısı,…
Teknik gözden geçirme:
Mimari ve çalışma modeli
Balloon sürücüsü konuk belleğini geri kazanarak hosta alan sağlayabilir. Konukta serbest bellek azalırken host swap’a düşüyorsa iki farklı baskı katmanı vardır. Hostun boş bellek sayısı, konuk RSS veya konuk içi available bellek tek başına tabloyu açıklamaz.
Host PSI, swap-in/out, konuk bellek istatistikleri ve uygulama gecikmesini aynı zaman çizelgesinde toplayın. Balloon istatistikleri sürücü ve polling desteğine bağlıdır; sıfır veya eksik alanı gerçek kullanım yok diye yorumlamayın. Hugepage ve pinlenmiş bellek reclaim davranışını ayrıca kontrol edin.
- 1Konuk talebi
- 2Balloon/reclaim
- 3Host bellek baskısı
- 4Uygulama gecikmesi
Tasarım parametreleri
- Baskı ölçümü
- Host ve konukta swap hareketini ayrı kaydedin; tahsis edilen RAM ile resident tüketimi ayırın.
- Minimum bellek
- Konuk işletim sistemi ve uygulamanın çalışabilir alt sınırını gerçek yükte ölçün.
- NUMA
- Uzak node erişimi ve node bazlı bellek baskısını toplam boş bellekten ayırın.
Hesap ve uygulama örneği
128 GiB hostta on VM’ye 16 GiB tanımlamak 160 GiB nominal tahsistir. Bu tek başına arıza kanıtı değildir; aynı anda 130 GiB resident talep oluşursa host ve servis payı yetmeyebilir. Pilot sırasında uygulama p95 gecikmesiyle swap/PSI artışını ilişkilendirin; VM başına sabit küçültme yapmayın.
Örnek komutlar: laboratuvar değerlerini değiştirin; kullanmadan önce yetkiyi ve yazılım sürümünü doğrulayın.
virsh dommemstat lab-vm
vmstat 1 10
cat /proc/pressure/memory
numastat
Hata teşhisi
| Belirti | Olası neden / ayrım | Doğrulama |
|---|---|---|
| Host swap artıyor | Resident talep ve host payı kapasiteyi aşmış. | vmstat ve PSI ile zaman ilişkisini kontrol edin. |
| Balloon verisi yok | Sürücü/polling desteklenmiyor veya kapalı. | Konuk sürücüsünü ve dommemstat kapsamını kontrol edin. |
Kabul ve doğrulama kontrolleri
- Host/konuk ölçümlerini aynı saatte alın.
- Balloon sürücüsünü doğrulayın.
- Swap-in/out hızını izleyin.
- NUMA node baskısını ayırın.
- VM minimumunu yük testiyle belirleyin.
- Değişiklik sonrası p95’i tekrar ölçün.
İlgili kavramlar
Kaynak rekabeti
Kaynak rekabeti, birden fazla iş yükünün aynı CPU, bellek, disk veya bağlantıyı paylaşırken birbirini bekletmesidir. Boş görünen toplam kapasite, tek bir sıcak çekirdek veya tek kuyruk üzerindeki darboğazı gizleyebilir. Aynı anda çalışan backup, antivirüs taraması, indeks bakımı ve kullanıcı trafiğini zaman çizelgesinde karşılaştırın. Kaynak eklemeden önce darboğazın yerini doğrulayın. Testte bir işi tek başına ve diğerleriyle birlikte çalıştırarak paylaşılan kaynağın etkisini ayırın; ortalama kullanım kadar yoğun saatlerdeki gecikmeyi de raporlayın.
Kapasite ve kullanılabilir pay
Ham kapasite ile uygulamanın kullanabileceği kapasite aynı değildir. RAID veya erasure coding, dosya sistemi, ayrılmış alan, metadata, snapshot ve büyüme payı ayrı kalemlerdir. TB ile TiB gösterimi de görünür sayıyı değiştirir. Hesabı birimleriyle yazın ve önce kullanılabilir korumalı kapasiteyi, sonra işletim rezervini çıkarın. Ortalama doluluğu izlemek kadar büyüme eğimini izlemek de önemlidir. Tahmini dolma tarihi, yeni kapasiteyi satın alma ve devreye alma süresinden daha uzakta tutulmalıdır.
Gecikme dağılımı
Gecikme, bir işlemin başlangıcı ile yanıtı arasındaki süredir. Ortalama değer, az sayıdaki çok yavaş işlemi gizleyebilir; medyan ile p95/p99 gibi yüzdelikler farklı sorulara cevap verir. Ağ RTT, disk bekleme, işlemci sırası ve uygulama işlemesi toplam süreye katkıda bulunur. Ölçümün istemci tarafında mı sunucuda mı yapıldığını yazın. Gecikme artışının trafik yükselmesine, bakım işine veya kapasite sınırına denk gelip gelmediğini karşılaştırın. Bir eşik seçmeden önce normal yük ve yoğun saat için temel davranışı kaydedin.
NUMA yerelliği
NUMA sistemlerde işlemci, kendisine yakın bellekle uzak düğüm belleğine farklı maliyetle erişebilir. Bir sanal makinenin vCPU ve bellek boyutu, fiziksel düğüm kapasitesi ve hypervisor yerleştirmesiyle birlikte değerlendirilir. Daha fazla vCPU vermek her zaman hız kazandırmaz; yerellik kaybı ve zamanlama beklemesi performansı düşürebilir. Fiziksel topolojiyi, VM içindeki görünen topolojiyi ve gerçek iş yükünün bellek davranışını birlikte kaydedin. Değişikliği aynı yük altında önce/sonra karşılaştırın; yalnız CPU yüzdesi yerine uygulama gecikmesini ve uzak bellek etkisini inceleyin.
Telemetri ve zaman eşleştirmesi
Telemetri, sistemin ne yaptığını açıklayan log, metrik ve olay kayıtlarının bütünüdür. Log bir olayın ayrıntısını, metrik zaman içindeki davranışı, dağıtık iz ise isteğin bileşenler arasındaki yolunu gösterir. Saat farkları aynı olayı farklı zamanlarda olmuş gibi gösterebilir. Merkezi zaman senkronizasyonu, kaynak kimliği ve tutarlı saat dilimi kullanın. Alarm tasarımında yalnız eşik değil, ne kadar sürdüğü ve kullanıcıya etkisi de değerlendirilmelidir. Kayıtların kesildiği durum ayrıca izlenmeli; log yokluğu, olay yokluğu şeklinde yorumlanmamalıdır.
İzolasyon ile sanallaştırma ayrımı
Container ve sanal makine aynı izolasyon sınırını sunmaz. Containerlar host çekirdeğini paylaşırken sanal makineler konuk işletim sistemi çalıştırır. Rootless kullanım, namespace ve capability kısıtları riski azaltabilir; yapılandırma ve host güvenliği yine önemlidir. Image, çalışan container ve kalıcı volume ayrı yaşam döngülerine sahiptir. Image güncellemek veriyi yedeklemez. Testte process izinlerini, mountları, ağ erişimini ve kalıcı verinin yeniden oluşturma sonrasında korunmasını ayrı ayrı doğrulayın.
Birincil teknik dokümantasyon
Doz Teknoloji teknik ekibi tarafından aşağıdaki birincil kaynaklar temel alınarak hazırlanmıştır. Hesaplar ve laboratuvar senaryoları varsayımlarını belirtir; uygulamadan önce kullanılan ürün sürümünü doğrulayın.