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 |
Scarica

Windows Server 2008 R2 SP1: Dynamic Memory