• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 572
  • Last Modified:

Comparison between VMware memory usage and physical usage

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
kam_uk
Asked:
kam_uk
  • 4
  • 3
  • 3
  • +3
4 Solutions
 
coolsport00Commented:
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
 
Paul SolovyovskySenior IT AdvisorCommented:
Since you are running 2003 standard x32 you cannot go over 4GB RAM (around 3GB actual) and therefore the perforamnce would be similar
0
 
Paul SolovyovskySenior IT AdvisorCommented:
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
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
bgoeringCommented:
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
 
coolsport00Commented:
"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
 
robocatCommented:

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
 
kam_ukAuthor Commented:
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
 
bgoeringCommented:
Yes, the /PAE switch works exactly the same in a virtual machine as it does in a physical machine
0
 
Paul SolovyovskySenior IT AdvisorCommented:
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
 
SysExpertCommented:
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
 
kam_ukAuthor Commented:
Thanks guys -

One last question - what would you define as the 'VMware swap file'?
0
 
bgoeringCommented:
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
 
bgoeringCommented:
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
 
robocatCommented:

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
 
kam_ukAuthor Commented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

  • 4
  • 3
  • 3
  • +3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now