| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |
windows server 2008 r2 sp1dynamic memory
uno sguardo in profondità
piergiorgio malusardiitpro evangelistmicrosoft italiahttp://blogs.technet.com/pgmalusardi pgmalusardi
| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |
obiettivi della sessione
• 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 |
agenda
• Dynamic Memory introduzione• Alcuni Concetti base• Considerazioni per il deployment
| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |
DYNAMIC MEMORY INTRODUZIONE
| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |
dynamic memory
• 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 |
richieste di sistema
• 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 |
architettura di dynamic memory
Kernel di windows
Child partition
Kernel di Windows
VMBus
Hypervisor
Parent partition
VMMS
WindowsMicrosoft Hyper-
V
User Mode
KernelMode
Fornito da
VMBus
VMWP
VID
Memory Balancer
Memory Balancer Interface
GMOMemory Manager
DM VDEV/VSP
DM VSC
Dynamic Memory
| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |
aggiunta di memoria
• 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 |
rimozione di memoria
| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |
ALCUNI CONCETTI BASE
| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |
pressione di memoria
534.780
798.264= 67%
Current Commit Charge
Physical Memory= Pressione
• 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 |
banda di pressione
Pressione minima (es. 78%)
Pressione massima (es. 85%)
Pressione attuale (es. 80%)
| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |
distribuzione di memoria
• 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 |
distribuzione di memoria
VM richiede RAM
Host ha
RAM
RAM assegnata alla VM
RAM rimossa da altre VM
RAM assegnata alla VM
Fine
In base alla Priority
| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |
target memory e free buffer
Target Memory [MB]= Current Commit [MB]+ Free Buffer [MB]
11 – Free Buffer %
- 1 x Current Commit [MB]( )Free Buffer [MB] =
Current Commit
Free Buffer %
| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |
target memory e free buffer
Current Commit Charge: 515MBFree 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 |
priority
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
Priority: HighFree Buffer: 5%Committed Memory: 5533 MB
Target memory: 5824 MB1 / (1 – 0.05) x 5533MB = 5824
MB
Memoria assegnata: 4231 MB
Penalità: 1593 MB (27.3%)
5824MB – 4231MB = 1593MBMemoria disponibile: -23%
priority
VM2
Priority: LowFree Buffer: 80%Committed Memory: 1243 MB
Target Memory: 6125 MB1 / (1 – 0.80) x 1243= 6215MB
Memoria assegnata: 1690 MB
Penalità: 4525 MB (72.8%)
6215MB– 1690MB = 4525MBMemoria disponibile: 35%
| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |
CONSIDERAZIONI PER IL DEPLOYMENT
| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |
configurare dynamic memory
Host Reserveregedit
| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |
tuning della memoria
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 |
tuning del free buffer
• 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 |
tuning della priority
• 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 |
memory reserve
• RAM riservata alla Parent Partition• Registry
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization
Value Name: MemoryReserveValue Type: DWORDValue Data: #MB
• Riavvio dell’host dopo la modifica
| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |
dynamic memory via script
• Provider WMI :– Name space: root\virtualization– Classe: Msvm_VirtualSystemSettingData
• http://msdn.microsoft.com/en-us/library/cc136856(VS.85).aspx
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
| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |
failover clustering
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 |
paging file
• 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 |
paging file• 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
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 |
basse prestazioni e dynamic memory
• 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.
Top Related