VMware Cloud Community
mdelvecchio
Contributor
Contributor
Jump to solution

do VMs require less RAM?

hello,

i am a .NET & SQL developer at a mid-sized organization (100s of app users). we use VMWare VMs for many of our production servers. the guest OSes are Windows 2003 Server, but i dont know which VMWare version.

i noticed my production SQL machine only has 800mb (right-click My Comptuer -> Properties). this seems way too small for a production SQL server. i asked our admin about it, and he said VMs dont need as much memory as physical machines because they can leverage the memory from the host.

my question -- is this true? im a bit ignornant about VMs, but my first thought would be the guest OS is restricted to its own sandbox -- if the guest OS is set to only 800mb, how could it "be aware"of additional memory??

...i would be happy to aquire more information to assist in answering this question, such as the VMWare version. i have access to the guest OS.

thanks!

matt

Tags (3)
Reply
0 Kudos
1 Solution

Accepted Solutions
mehul96
Enthusiast
Enthusiast
Jump to solution

You are absolutely right!

A VM is allocated max memory when created and there is no way for it to 'acquire' additional host memory at will. If this is a VM running on ESX server, there are additional parameters to configure. 'Reservation' is guaranteed physical RAM allocated to VM when it powers on, 'Limit' is the max physical RAM it can get from host and 'shares' will determine relative priority of the VM when there is a resource contention. ESX uses several methods for managing memory (Transparent page sharing, ballooning and vmkernel swap) but the VM's configured memory is the absolute max it can use (unless changed by an admin)

Hope this helps

Mehul

If you find this or other responses useful, pl consider awarding points to keep the forum's enthusiasm alive!

View solution in original post

Reply
0 Kudos
3 Replies
mehul96
Enthusiast
Enthusiast
Jump to solution

You are absolutely right!

A VM is allocated max memory when created and there is no way for it to 'acquire' additional host memory at will. If this is a VM running on ESX server, there are additional parameters to configure. 'Reservation' is guaranteed physical RAM allocated to VM when it powers on, 'Limit' is the max physical RAM it can get from host and 'shares' will determine relative priority of the VM when there is a resource contention. ESX uses several methods for managing memory (Transparent page sharing, ballooning and vmkernel swap) but the VM's configured memory is the absolute max it can use (unless changed by an admin)

Hope this helps

Mehul

If you find this or other responses useful, pl consider awarding points to keep the forum's enthusiasm alive!

Reply
0 Kudos
JarrettCampbell
Contributor
Contributor
Jump to solution

Do you have access to the Virtual Infrastructure Client? There you can view the memory usage logs and more importantly memory usage alarms for this SQL box.

The performance and alarms tabs in the VI Client should answer these questions for you.

Reply
0 Kudos
MattG
Expert
Expert
Jump to solution

Typically, virtual machines are given less resources than their physical counterpart. The main reason for this is that you need to spec a physical server's resources for how large the machine could potentially become when you purchase it. With VMs you can give the VM only the resources presently needed and add the additional resources down the road if needed.

That being said you are right. If a VM is only given 800MB then that is all it will be able to use until it is manully provisioned more (not a big deal). On the flip side since ESX can overcommit memory, your admins could give you higher amounts of vMem upfront and then let ESX handle the overcommitment.

-MattG

If you find this information useful, please award points for "correct" or "helpful".

-MattG If you find this information useful, please award points for "correct" or "helpful".