| piergiorgio malusardi | | microsoft italia | piergiorgio malusardi itpro evangelist microsoft...

31
| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia | windows server 2008 r2 sp1 dynamic memory uno sguardo in profondità piergiorgio malusardi itpro evangelist microsoft italia http://blogs.technet.com/pgmalusardi pgmalusardi

Transcript of | piergiorgio malusardi | | microsoft italia | piergiorgio malusardi itpro evangelist microsoft...

Page 1: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 2: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 3: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |

agenda

• Dynamic Memory introduzione• Alcuni Concetti base• Considerazioni per il deployment

Page 4: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |

DYNAMIC MEMORY INTRODUZIONE

Page 5: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 6: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 7: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 8: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 9: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |

rimozione di memoria

Page 10: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |

ALCUNI CONCETTI BASE

Page 11: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 12: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |

banda di pressione

Pressione minima (es. 78%)

Pressione massima (es. 85%)

Pressione attuale (es. 80%)

Page 13: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 14: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 15: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

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

Page 16: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 17: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 18: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

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

Page 19: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |

CONSIDERAZIONI PER IL DEPLOYMENT

Page 20: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| piergiorgio malusardi | http://blogs.technet.com/pgmalusardi | microsoft italia |

configurare dynamic memory

Host Reserveregedit

Page 21: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 22: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 23: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 24: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 25: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 26: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 27: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

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

Page 28: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 29: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 30: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

| 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

Page 31: | piergiorgio malusardi |  | microsoft italia | piergiorgio malusardi itpro evangelist microsoft italia .

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