Overhead memory on virtual machines, How esx/esxi hosts allocate memory – VMware vSphere vCenter Server 4.0 User Manual

Page 30

Advertising
background image

ESX/ESXi memory virtualization adds little time overhead to memory accesses. Because the processor's paging

hardware uses page tables (shadow page tables for software-based approach or nested page tables for

hardware-assisted approach) directly, most memory accesses in the virtual machine can execute without

address translation overhead.
The memory space overhead has two components.

n

A fixed, system-wide overhead for the VMkernel and (for ESX only) the service console.

n

Additional overhead for each virtual machine.

For ESX, the service console typically uses 272MB and the VMkernel uses a smaller amount of memory. The

amount depends on the number and size of the device drivers that are being used.
Overhead memory includes space reserved for the virtual machine frame buffer and various virtualization

data structures, such as shadow page tables. Overhead memory depends on the number of virtual CPUs and

the configured memory for the guest operating system.
ESX/ESXi also provides optimizations such as memory sharing to reduce the amount of physical memory used

on the underlying server. These optimizations can save more memory than is taken up by the overhead.

Overhead Memory on Virtual Machines

Virtual machines incur overhead memory. You should be aware of the amount of this overhead.

Table 3-2

lists the overhead memory (in MB) for each number of VCPUs.

Table 3-2. Overhead Memory on Virtual Machines

Memory
(MB)

1 VCPU

2 VCPUs

3 VCPUs

4 VCPUs

5 VCPUs

6 VCPUs

7 VCPUs

8 VCPUs

256

113.17

159.43

200.53

241.62

293.15

334.27

375.38

416.50

512

116.68

164.96

206.07

247.17

302.75

343.88

385.02

426.15

1024

123.73

176.05

217.18

258.30

322.00

363.17

404.34

445.52

2048

137.81

198.20

239.37

280.53

360.46

401.70

442.94

484.18

4096

165.98

242.51

283.75

324.99

437.37

478.75

520.14

561.52

8192

222.30

331.12

372.52

413.91

591.20

632.86

674.53

716.19

16384

334.96

508.34

550.05

591.76

900.44

942.98

985.52

1028.07

32768

560.27

863.41

906.06

948.71

1515.75

1559.42

1603.09

1646.76

65536

1011.21

1572.29

1616.19

1660.09

2746.38

2792.30

2838.22

2884.14

131072

1912.48

2990.05

3036.46

3082.88

5220.24

5273.18

5326.11

5379.05

262144

3714.99

5830.60

5884.53

5938.46

10142.83

10204.79

10266.74

10328.69

How ESX/ESXi Hosts Allocate Memory

An ESX/ESXi host allocates the memory specified by the

Limit

parameter to each virtual machine, unless

memory is overcommitted. An ESX/ESXi host never allocates more memory to a virtual machine than its

specified physical memory size.
For example, a 1GB virtual machine might have the default limit (unlimited) or a user-specified limit (for

example 2GB). In both cases, the ESX/ESXi host never allocates more than 1GB, the physical memory size that

was specified for it.
When memory is overcommitted, each virtual machine is allocated an amount of memory somewhere between

what is specified by Reservation and what is specified by Limit. The amount of memory granted to a virtual

machine above its reservation usually varies with the current memory load.

vSphere Resource Management Guide

30

VMware, Inc.

Advertising
This manual is related to the following products: