A question I have about setting up new VM's in a ESX environment.
Say I have a 3 node ESX cluster. Each box has 2 CPU's and 8gigs of RAM, giving me (6) CPU's and 24gigs total memory.
When people start asking for VM's with requirments such as the need for 2gigs of memory, what starts to happen when you have about 10-15 VM's, and you configure them all with 2gigs of memory? I know they don't use all of it at a given time...but what starts to happen when more and more VM's are built and you start giving 2gigs of memory. Does a future problem arise?
Just wanted to get some feedback on what are some things I should think about when provisioning VM's and maybe what others do.
I sense that the use of resource pools and reservations will play a big part in this.
I really appreciate the help.
ESX does overcommit memory in the sense that you can assign more memory to your vm's in total than it's currently available on the physical hosts. Of course this plays nice when your vm's do not require those 2GB of memory... at least not at the same time. If 20 vm's start to claim 2GB of memory at the same time across 3 systems each with 8GB of memory..... than you <might> have a problem ....
Massimo.
This somewhat depends on your constraints. You can get to a point where you won't be able to start any new vms because your memory is too over committed. A good suggestion is to start out at some point with memory, monitor it and most likely adjust down as you see that memory isn't being used.
Respectfully,
Matthew
Kaizen!
Appreciate it very much.
Anyone have a resource monitor that they recommend? I am also assuming we are talking about measuring resource usage on the VM side of things correct?
Thanks.
TCG
http://www.veeam.com/vmware-esx-monitoring.html
I am not a big fan of spending money unnecessarily, have you check out the performance monitoring inherent in Virtual Center on the host or cluster level yet? These metrics arn't as good as they can be, but arn't horrible either.
Respectfully,
Matthew
Kaizen!
VM does some cool tricks with memory. Yes it will let you over commit, but if you setup say 10 XP machines they can all use the same like memory. Also The nice thing about VMware is after systems run for say 4 hrs. you will see how much memory each system is using. I would not start at 2 GB. I would start at around 1 GB and see if you need to add more. The risk you are going to run by giving them all 2 GB. And this is what you will want to monitor for is called ballooning. The balloon driver tricks the host into thinking it is busy so it can steal some of its unused RAM.
I agree with Milton21. VMware does a good job at reducing the memory footprint across the vm's (although you need to pay attention to the fact that some selected applications tend to use all the memory you assign to them no matter the workload - MS SQL being an example).
I also agree that ballooning is the parameter you want to monitor. You can watch/track it from the VC performance tabs ... as long as it stays at 0 you are fine .... as soon as you see it going up you should either reduce the memory per vm, reduce the vm or add more memory. Look at it as a sort of traffic light .... no by chance the balloon colour code is yellow (or used to be yellow...)
Massimo.
This document was generated from the following thread: Provisioning new VM question