💻 Bilgisayar

OpenVZ Görünen RAM vs. Gerçek RAM

OpenVZ ile sanallaştırılmış VPS’lerde, hosting firması VPS ile gelen RAM miktarını MB/GB cinsinden belirtirler. (Ör: 256MB / 512 burstable) Böyle bir durumda beklentiniz şu olmalıdır:

  • Sanal makineniz için size ayrılmış daimi 256MB’lık RAM
  • RAM dolduğu zaman kullanılabilecek ancak swapin/swapout olabilecek (bu da yavaşlık anlamına gelir) 256MB daha. (Toplam 512MB)

Ancak gerçekte böyle mi?

Hosting firmanız, bir fiziksel sunucuyu haddinden fazla sanal sunucu ile yükleyerek gerçekte sadece size ait olması gereken RAM alanını da paylaştırıyor olabilir mi? Bunu kontrol paneli, top gibi kalsik yöntemlerle öğrenmeniz mümkün değil.

Ancak şu kaynakta bunun bir şekilde öğrenilebileceği belirtiliyor.

Aşağıdaki kodu çalıştırın:

sudo cat /proc/user_beancounters | grep -E '(uid|physpages|oomguarpages)'

Şöyle bir çıktı gelecektir:

[email protected]:~# sudo cat /proc/user_beancounters | grep -E '(uid|physpages|oomguarpages)'
       uid  resource                     held              maxheld              barrier                limit              failcnt
            physpages                  217899               524384                    0               524288                    0
            oomguarpages               181208               277135  9223372036854775807  9223372036854775807                    0

held kolonunda physpages ve oomguarpages satırlarında yer alan rakamlar farklı ise normalde RAM’de saklanması gereken bazılarının diske gitmiş demektir! (swapping) Şu an benim VPS firmamın da aynısını benim hostingime yaptığımı görüyorsunuz.

Tam olarak kaç MB’ın swap-out ettiğini görmek için aşağıdaki formülü kullanın:

(physpages - oomguarpages) * 4096 / 1024 / 1024

Benim VPS’im için bu değer:

(217899 - 181208) * 4096 / 1024 / 1024 = 143MB!

Bu da bana vaadedilen 2GB’lık RAM’in %7’sinin aslında bana verilmediği anlamına gelir. Ancak o an kullanımda olan RAM/SwapOut RAM yüzdesi daha mantıklı bir istatistik sağlayacaktır:

Kullanılan RAM: 217899 * 4096 / 1024 / 1024 = 851MB
Swap-out RAM: 143MB

Bilgilerimin %16’sı olması gereken yerde, RAM’de durmuyor.

Bitirirken

Acaba sizin VPS sağlayıcınız da aynı çakallığı yapıyor mu?

OpenVZ Görünen RAM vs. Gerçek RAM 3 yorum aldı.

  1. Yapmıyor… Sağolsun. 🙂

    Merak ettiğim şu, (varsayım) 16GB lık bir dedicated sunucum var ve sanallaştırmak istiyorum. En kestirme yol olarak openvz ile linux konteynırları yaratıyorum. Her konteynır için atadığım işlemci yükü ve bellek alanı kısıtlamaları var. Buraya kadar eyvallah. Peki, bu sunucular için atadığım vswap alanları da ortak mı? Yani işin matematiğine inersek daha net olacak.

    16GB toplam RAM ile (master-dedicated sunucunun ihtiyaçlarını göz önünde bulundurarak)
    15x1GB konteynırlar oluşturup, geri kalan 1GB'lık alanı her konteyner için ortak bir vswap alanı olarak mı kullanıyorum?
    YOKSA her konterynır için o konteynıra özel vswap alanları mı (tahsil etmem)oluşturmam gerekiyor? (Eğer böyleyse vswap olayı tamamen lafta kalmış oluyor.)

    Eğer önümde bir openvz paneli olsaydı bunu deneyerek öğrenebilirdim. Maksadım sizi "evet ya, o nasıl oluyo acaba?" diye düşündürmek ve zahmete sokmak. 😛

    Güzel blog.
    Sevgiyle.

    1. Valla elinize klavyenize sağlık ne güzel sormuşsunuz, ben de merak ettim ama bu konu hakkında fikrim olmadığı gibi, deneyecek bir ortamım da yok. Gerçekten de "evet ya, o nasıl oluyo acaba?" diye düşündürttünüz. 😀

      1. Yakında bir dedicated sunucu geçecek elime. Openvz ile sanallaştıracağım. Sırf o yüzden bu başlığı yer imleri çubuğunun başında tutuyorum. Cevap bulur bulmaz sizi de aydınlatacağım.

        Açıkçası bu soruyu sorarak kendime orta açmış oldum, golü atınca hep birlikte seviniriz. 🙂

        Sevgiyle.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir