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
stcliff,
Hopefully this will enlighten your troubles alittle
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
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?
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
Thanks KFM - that was very well explained ![]()
I'm sure a lot of lurkers benefitted from it.
Roland
