Solved

Comparison between VMware memory usage and physical usage

Posted on 2010-08-26
16
553 Views
Last Modified: 2013-11-10
Hi

We have some physical servers running a memory intensive app, and are looking to move them to virtual ESX.

At the moment, the physical servers are Windows 2003 x32 Server Std. They have 4GB RAM.

The virtual servers would be the same.

Would I be correct in thinking that as long as we assign the ESX guests 4GB RAM, the performance *should* be the same, in terms of memory availability? Or does it depend on the memory consumption of other guests on the host etc.
0
Comment
Question by:kam_uk
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
  • 3
  • +3
16 Comments
 
LVL 40

Accepted Solution

by:
coolsport00 earned 125 total points
ID: 33534059
You are correct; what RAM you allocate to your VM, is what is given to it by the host. VMs (OS's, more specifically) tend to not need all its RAM allocated to it, all of the time. ESX will 'borrow' memory from idle VMs and give it to the VM that needs it at that given time. But, again, if a VM has x amount of RAM given to it, when it needs to use it, it will be given to it, as long as there's enough physical memory in the host the VM is on.

Regards,
~coolsport00
0
 
LVL 42

Assisted Solution

by:paulsolov
paulsolov earned 125 total points
ID: 33534117
Since you are running 2003 standard x32 you cannot go over 4GB RAM (around 3GB actual) and therefore the perforamnce would be similar
0
 
LVL 42

Expert Comment

by:paulsolov
ID: 33534130
Interesting part is that if you're running HP, Dell, IBM it may even run faster because for instance HP agents and utilities use around 300-500MB of memory that are no longer part of the VM
0
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
LVL 28

Assisted Solution

by:bgoering
bgoering earned 125 total points
ID: 33534142
It would be the same as the physical machines in terms of memory use only if you assign a memory reservation of 4GB for each vm. However that is rarely a good idea, it generally is best to let VMware manage the memory allocation for the virtual machines. Such a reservation would likely waste memory.

Now if you see performance degradation on the guests due to contention with other VMs it MAY be appropriate to determine the typical working set size of the guests and make a smaller reservation. Unless you are using the /3G switch in boot.ini on your servers, Windows will allocate 2GB of address space for an application. If each guest has a single memory intensive application that is using all of its 2 (or 3) GB I would possibly make reservations up to 2 GB if performance is suffering.

Good Luck
0
 
LVL 40

Expert Comment

by:coolsport00
ID: 33534156
"bgoering is correct...you shouldn't hardly ever configure resources for VMs, in terms of memory or CPU, unless there is some SLA or other 'desperate' need to do so. I discussed this with VMware off/on for like a month on when and/or why you would even need or want to do so. :)

~coolsport00
0
 
LVL 22

Assisted Solution

by:robocat
robocat earned 125 total points
ID: 33534183

You can assign 4GB RAM to a guest, but because all VMs share the RAM, your guest may not actually get 4GB physical RAM from the host.

However, you can make a reservation of 4GB for this VM, this way the host will always give 4GB to the guest and this RAM is not shared by other VMs.

0
 
LVL 3

Author Comment

by:kam_uk
ID: 33534539
Thanks guys..

So from what I can understand, I can assign 4GB RAM to a guest, or I can make a reservation of 4GB RAM. The latter means 4GB is always available to the guest, but not to other guests (meaning its not efficient)?

Out of interest, does the PAE switch work on ESX guests so I can give the guest more than 4GB?
0
 
LVL 28

Expert Comment

by:bgoering
ID: 33534583
Yes, the /PAE switch works exactly the same in a virtual machine as it does in a physical machine
0
 
LVL 42

Expert Comment

by:paulsolov
ID: 33534602
If you reserve 4GB RAM to the VM it will always have 4GB and no other VM can use it.  It will also reduce the vmware swap file to zero and give you more storage.  If your reserve 0 it creates a 4GB swap file
0
 
LVL 63

Expert Comment

by:SysExpert
ID: 33535292
Also, don't forget that CPU usage may also affect speed, as well as how your store your data.

So better hardware may also make improvements in performance.

I hope this helps !
0
 
LVL 3

Author Comment

by:kam_uk
ID: 33537319
Thanks guys -

One last question - what would you define as the 'VMware swap file'?
0
 
LVL 28

Expert Comment

by:bgoering
ID: 33537347
It is a file that VMware maintains to swap pages of the VMs memory to if memory contention on the ESX server requires swapping. It is the same size as the amount of memory allocated to the server. However, if memory reservations are in effect for the virtual machine, the size is reduced by the amount of the reservation.
0
 
LVL 28

Expert Comment

by:bgoering
ID: 33537359
I should say it is the same size as the amount of memory allocated to the virtual machine (not server). A swap file is created for each virtual machine when it is powered on and deleted when it is powered off.
0
 
LVL 22

Expert Comment

by:robocat
ID: 33541881

To add to this, if your VM host ever needs to use this swap file, the performance of the related VM will go down the drain. You need to avoid overallocating the physical RAM of the host too much or this will happen.

To come back to your original question, if performance of your VM is critical, make a large enough memory reservation for this VM and this will never happen.
0
 
LVL 3

Author Comment

by:kam_uk
ID: 33696475
Hi
Not sure what has happened here - I went to assign the points/accept solutions and something strange has happened!

Can the answers be accepted as I've stated and points awarded?
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When converting a physical machine to a virtual machine using VMware vCenter Converter Standalone or vCenter Converter Enterprise, if an adapter type is not selected during the initial customization the resulting virtual machine may contain an IDE d…
In this article, I show you step by step with screenshots to assist you - HOW TO: Deploy and Install the VMware vCenter Server Appliance 6.5 (VCSA 6.5), with some helpful tips along the way.
Teach the user how to join ESXi hosts to Active Directory domains Open vSphere Client: Join ESXi host to AD domain: Verify ESXi computer account in AD: Configure permissions for domain user in ESXi: Test domain user login to ESXi host:
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question