VMware vSphere’in gelişimi ile zaman içinde, VMware memory optimizasyon tekniklerinde ve bunların uygulanmasında bazı değişiklikler olmuştur. VMware vSphere, farklı bellek optimizasyon teknikleri kullanır (memory overcommitting olarak da adlandırılır). Bunları her zaman ve hepsini aynı anda değil, memory resource aşırı depending düzeyine bağlı olarak birbiri ardına kullanırlar.

  • Transparent page sharing
  • Memory ballooning
  • Memory compression
  • Swap to host cache
  • Regular swapping

Bu tekniklerin tümü, her sanal makine (VM) için gereken makine physical memory miktarını dinamik olarak azaltır.

Virtualization, ESXi’nin kendi kodu ve veri yapıları için ihtiyaç duyduğu fazladan memory nedeniyle gereken physical memory miktarını artırır. Bu ek memory gereksinimi iki ana bileşenden oluşur:

  • VMkernel ve çeşitli host aracıları (hostd, vpxa, vb.)
  • Her VM için ek memory alanı yükü

Transparent page sharing (TPS) VM’lerde kullanılan RAM’i kendi içlerinde veya aralarında tekilleştirmeye yönelik bir tekniktir. TPS, bellek kaynaklarından tasarruf etmenizi ve bunları birleştirmenizi sağlar.

Resim-1

ESXi host çalışan VM’ler RAM’de aynı verilere sahipse (örneğin, aynı işletim sistemi ve aynı uygulama), bu memory alanlarını tekilleştirir ve fiziksel memory modülündeki verilerin yalnızca bir kopyasını kullanır. Özellikle, RAM page paylaşılması yoluyla verilere erişimle ilgili güvenlik açıklarının keşfedilmesi nedeniyle bu özellik varsayılan olarak devre dışı bırakılmıştır. Bu şekilde, bir saldırgan,memory önbelleğini boşaltmaya ve yeniden yüklemeye zorlayarak aynı işlemci üzerinde aynı memory sayfalamasını paylaşan başka bir VM’nin AES şifreleme anahtarını belirleyebilmektedir.

Ancak, bunun bir üretim ortamında gerçekleşmesi olası değildir. Ancak VMware’in politikası güvenli ürünler sunmak olduğundan, bu özelliği varsayılan olarak devre dışı bırakmışlardır.
TPS özelliğini yeniden etkinleştirmek için yalnızca ESXi host gelişmiş ayarlarını değiştirmeniz gerekir.

TPS’yi yeniden etkinleştirmek için belirli durumlar için değiştirilecek parametreler şunlardır: Aynı ESXi host’ta çalışan VM’ler arasında (bu çözümü etkinleştireceğiz):

Resim-2

Change the ShareForceSalting = 0 value (ESXi host gelişmiş ayarlarından)

İşlevselliğinden yararlanmak için TPS’yi etkinleştirmek yeterli değildir çünkü memory page ne kadar büyük olursa veri tekilleştirme o kadar az olur.

Bu nedenle, büyük memory page devre dışı bırakmak, onları tekilleştirmesi daha kolay olacak daha küçük kesirlere bölecektir. Ancak bu aynı zamanda daha fazla sayıda bellek sayfasında daha fazla CPU işleme olacağı anlamına gelir.

VMware memory fazla yükleme, veri merkezi iş yükleriniz için veri merkezinizdeki memory optimize etmeye olanak tanıyan bazı güçlü optimizasyon teknikleri kullanır. Aynı işletim sistemine sahip VM’lerin yan yana çalıştığı sanal masaüstü altyapısı (VDI) iş yükleri için özellikle kullanışlıdır.

Memory sıkıştırma ve esxi önbelleğine değiştirme özellikleri, genellikle performans üzerinde çok az etkisi olan veya hiç etkisi olmayan, büyük bir memory fazlalığı elde etmenize olanak tanır.

Ancak, etkin memory değiştirmek için esxi düzeyinde takası kullanabileceğiniz noktaya kadar memory fazla kullanmaktan kaçınmalısınız, çünkü bu durumda performans etkisi önemli olabilir.