piergiorgio malusardi itpro evangelist microsoft italia http://blogs.technet.com/pgmalusardi pgmalusardi | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | • Mostrare come funziona Dynamic Memory • Mostrare le implicazioni per il deployment di Dynamic Memory • Dare indicazioni per il troubleshooting di Dynamic Memory Il contenuto di questa sessione è basato sulla Release Candidate del Service Pack 1 di Windows Server 200 R2 Le informazioni fornite potrebbero non essere applicabili alla versione definitiva | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | • Dynamic Memory introduzione • Alcuni Concetti base • Considerazioni per il deployment | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | • Aumento/diminuzione dinamica di vMemory – “Hot add” – “Memory ballooning” • Per ogni VM: – memoria necessaria – più Free Buffer • Priority tra le VM per la distribuzione di memoria | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | • Parent Partition: – Windows Server 2008 R2 SP1 – Microsoft Hyper-V Server 2008 R2 SP1 • Child Partition: – Windows Server 2003, 2008 e 2008 R2 • Web, Standard, Enterprise, Datacenter • 32/64 bit – Windows Vista e Windows 7 • Enterprise e Ultimate • 32/64 bit | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | Child partition Parent partition VMMS Memory Balancer Memory Balancer Interface VMWP Fornito da Windows DM VDEV/VSP Microsoft Hyper-V Dynamic Memory GMO Memory Manager User Mode Kernel di windows Kernel di Windows DM VSC VID VMBus VMBus Hypervisor | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | Kernel Mode • Hot Add usata per aggiungere memoria – Hot Add tradizionale usa trigger ACPI • Dynamic Memory: “HotAdd Enlightenment API” – Scavalca il «memory device object driver» – Indica direttamente al Memory Manager la nuova disponibilità di memoria – Standard e Web: solo nelle istanze virtualizzate | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | Current Commit Charge Physical Memory 534.780 798.264 = Pressione = 67% • Pressione = 67% • • • La VM sta usando il 67% della memoria assegnata Ha un buffer libero del 33% Pressione> 100%: • • Paginazione eccessiva della VM Free buffer negativo | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | Pressione minima (es. 78%) Pressione attuale (es. 80%) | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | • Distribuzione di memoria alle VM basata su: – Startup RAM e Maximum RAM • Startup RAM = memoria necessaria per il boot • ∑startup < RAM host • ∑ Maximum RAM può essere > RAM host – Priority – Free buffer | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | VM richiede RAM RAM assegnata alla VM Host ha RAM In base alla Priority RAM rimossa da altre VM RAM assegnata alla VM Fine | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | Target Memory [MB]= Current Commit [MB]+ Free Buffer [MB] ( ) 1 Free Buffer [MB] = - 1 x Current Commit [MB] 1 – Free Buffer % Free Buffer % Current Commit | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | Current Commit Charge: 515MB Free Buffer: 25% 1 / (1 - 0.25) – 1 x 515 MB = 171 MB Target Memory: 171 MB + 515 MB = 686 MB | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | Penalizzazione delle VM quando la memoria deve essere ridistribuita 1-10.000 (default 5.000) Non garantisce la disponibilità di memoria | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | VM1 VM2 Priority: High Free Buffer: 5% Committed Memory: 5533 MB Priority: Low Free Buffer: 80% Committed Memory: 1243 MB Target memory: 5824 MB Target Memory: 6125 MB Memoria assegnata: 4231 MB Memoria assegnata: 1690 MB Penalità: 1593 MB (27.3%) Penalità: 4525 MB (72.8%) Memoria disponibile: -23% Memoria disponibile: 35% 1 / (1 – 0.05) x 5533MB = 5824 MB 5824MB – 4231MB = 1593MB 1 / (1 – 0.80) x 1243= 6215MB 6215MB– 1690MB = 4525MB | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | Host Reserve regedit | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | Startup RAM • Memoria minima necessaria per il boot • Più piccola possibile valori raccomandati per workload • Deviazioni dalle raccomandazioni Non tutti i servizi si avviano Applicazioni che scelgono la quantità di RAM all’avvio possono beneficiare di maggiore RAM In caso di Failover quando ∑Startup RAM > RAM fisica Maximum RAM • Default 65535MB • Valori inferiori per: VM x86 -> non usano PAE Se Priority = Low e Free Memory Buffer = High | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | • Default 20% • Aumentare: – File cache insufficiente – Workload che generano picchi particolari • Diminuire: – VM con Priority = Low RAM alle VM con Priority = High – Applicazioni RAM intensive | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | • Impatta la penalizzazione • Aumentare: – Per minor paginazione possibile nella VM • Diminuire: – VM a basso consumo di memoria – VM poco importanti e VM mission critical su medesimo host | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | • RAM riservata alla Parent Partition • Registry HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization Value Name: MemoryReserve Value Type: DWORD Value Data: #MB • Riavvio dell’host dopo la modifica | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | • Provider WMI : – Name space: root\virtualization – Classe: Msvm_VirtualSystemSettingData Proprietà Impostazione nella UI Valore DynamicMemoryEnabled Dynamic Radio Button Vero, Falso VirtualQuantity Startup RAM 8 – 65536 MB Limit Maximum RAM 8 – 65536 MB Reservation Non presente nella UI 8 – 65536 MB Weight Priority 1 – 10000 TargetMemoryBuffer Free Buffer 5 – 95 • http://msdn.microsoft.com/en-us/library/cc136856(VS.85).aspx | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | Possibile rischio con failover: RAM sull’host di destinazione insufficiente per Startup RAM della VM Per ogni host assicurarsi: ∑Startup RAM + RAM Parent Partition < RAM fisica | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | • Corretta configurazione vitale per prestazioni • Paging file obbligatorio nella VM • Metodo di calcolo usuale non valido: Peak Commit Charge – Physical Memory + Buffer • Come configurare il paging file? | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | • Esempio: – – – – – – Current Commit: 100 MB Free Buffer: 20% Target Commit: 125 MB Paging File: 1MB Commit Limit: 126 MB Available Memory: 26 MB (Commit Limit – Current Commit) • Cosa accade con allocazione di 50 MB? • Cosa accade con allocazione di cinque blocchi da 10 MB? • Paging file minimo: per soddisfare la domanda di memoria del processo più grande • Paging file massimo: peak commit – memoria fisica massima + buffer | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | Performance counter in Parent Partition • Hyper-V Dynamic Memory Balancer – Memory Balancer in esecuzione nella Parent Partition – Memoria disponibile nell’host – Operazioni di aggiunta e rimozione di RAM • Hyper-V Dynamic Memory VM – Uso di memoria delle VM – Memoria aggiunta e rimossa alla VM – Pressione di memoria nella VM | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | • Non tutti i servizi nelle VM si avviano • VM hanno basse prestazioni per RAM insufficiente • RAM insufficiente per file cache • Parent Partition ha basse prestazioni | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. | piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |