VMware Cloud Community
sutcliff
Contributor
Contributor

Help Me Understand Virtual Infrastructe 3 Memory Allocatioin

My understanding of how memory works was that I could allocate about 512 MB. If the VM needed more it would pull it in as required as long as it was available.

I had a machine that was crashing so I bumped the initial memory memory up to 2 GB. It is now stable. Prior to the crashing I did not see any ballooning or swapping.

Was my impression of how memory allocation worked wrong? I have 16 GB in the total machine.

Thanks,

Brian

Reply
0 Kudos
5 Replies
Mike_Deardurff
Enthusiast
Enthusiast

stcliff,

Hopefully this will enlighten your troubles alittle

http://www.vmware.com/pdf/esx3_memory.pdf

Reply
0 Kudos
sutcliff
Contributor
Contributor

I guess I sorta understand it. Lets say tht all machines have equal memory shares, each machine is running the same OS, and I allocated the memory under the hardware tab to be 512 MB.

The VM will get no more then 512 MB, but this is misleading because it can share identical pages of memory from the other OS.

If increase the number of shares on this VM, it will have a higher priority if multiple machines are competing for memory resources.

I am still a little confused between the difference between the memory on the hardware tab and the reservations on the "resources tab" .

What happens if the "hardware" tab has 512 MB and the "Resources" tab has 2GB"

Thanks,

Brian

Reply
0 Kudos
KFM
Enthusiast
Enthusiast

The VM will get no more then 512 MB, but this is

misleading because it can share identical pages of

memory from the other OS.

Not misleading at all. What transparent page sharing means is that ESX server has some trickery that allows it to see which pages amongst all the guest OSes are identical. It then only has to create one page which is shared for all guest OSes. It's a way ESX server can save memory by sharing common pages between guest OSes. Transparent page sharing is exactly that - transparent to the guest OS. It doesn't see any less, or more memory just because page sharing is used. (For the record, once a guest OS modifies that particular page, ESX server immediately copies it out and allocates it it's own copy, whilst the other guest OSes which were sharing it, still share the original page)

If increase the number of shares on this VM, it will

have a higher priority if multiple machines are

competing for memory resources.

Spot on - you're correct.

I am still a little confused between the difference

between the memory on the hardware tab and the

reservations on the "resources tab" .

The amount of RAM you allocate a VM via the hardware tab is the amount reported to the guest OS. This is basically the limit you're specifying.

A reservation means that ESX server will reserve that amount for the guest OS if it requires it, eg when there is contention for resources, then the guest OS is guaranteed the amount you reserved for it.

What happens if the "hardware" tab has 512 MB and the

"Resources" tab has 2GB"

This isn't possible. If you set a VM to have 512MB RAM via the hardware tab, then the maximum reservation ESX will allow you to allocate to it will be 512MB. Try it and you'll see what I mean.

Hope this clears up some of your confusion?

Reply
0 Kudos
gladney
Contributor
Contributor

The amount of RAM you allocate a VM via the hardware

tab is the amount reported to the guest OS. This is

basically the limit you're specifying.

Thanks! KFM I'm printing this out and putting in in my cube to flash in managements face when they bring up their weekly concerns about memory allocation.

-Dave

Reply
0 Kudos
dsouza_r
Contributor
Contributor

Thanks KFM - that was very well explained Smiley Happy

I'm sure a lot of lurkers benefitted from it.

Roland

Reply
0 Kudos