RAM in XenServer versus ESX
-
Hello again, community!
I have used VMware for years now, but have avoided becoming an expert ;-). I have seen how good it is at consolidating many servers onto one host, effectively dealing out lots of RAM while not consuming all of it in real life. One of my servers now has about 220 GB as granted, but only 125 GB (of 128) actually used. That is good.
Now, I have been starting experienting With XenServer for several reasons. One of them being that an old server was not able to install current version of ESX, but XenServer 6.5 installed fine. The server is more than 7 years old, but has 32 cores and 64 GB RAM, so it is too good to let go. Also, after adding a couple of other old servers I am able to do live (storage) vmotion for free. This makes XenServer attractive.
But, now I run into memory trouble. The one server I will use as example has 64 GB RAM. One VM has been given 32 GB RAM, and another 24 GB RAM. Now, trying to power on a third VM With 8 GB RAM fails, because I have used up all the RAM... Hm. That was an unpleasant surprise. Does this mean that XenServer cannot "overcommit" memory like ESX can? Or is there a setting I can change? -
as per my knowledge we are having physically 16 GB we can allocate more than 2 to 3 times for virtual server ie we can allocate 32 GB to 48 GB for guest os it will give better performance no more impact...there is no need of changing any settings in the xenserver host setup
-
I have just tried to start up another VM, and get this error in XenCenter: "The given VMs failed to release memory when instructed to do so"...
-
Do you have Xentools installed on each of your VMs?
-
XenTools is missing from at least one of them. Could that be it? I am in the process of removing VMware Tools from one of the VMs and will now install XenTools...
-
Hm... After making sure XenTools is installed in all the VMs on the server, I can actually see the RAM being decreased for the already powered on VMs as I power on the last VM -- it works as expected now that all VMs have XenTools installed. Thanks!
-
@flomer Yep Xen does a wonderful job once everything is installed.
-
Wow.. that's good to know.
I didn't realize that overcommiting RAM was recommended?
-
I might be using the wrong phrase here, but for consolidation reasons it is very handy to be able to virtualize for example 4 servers With 24 GB RAM each onto a XenServer/vSphere host With for example 64 GB RAM. Each VM will not use the full 24 GB at the same time, and will thereofre fit nicely within the physical 64 GB RAM. As we speak I use 160% of the RAM on my XenServer, and none of the VMs are starving for RAM. I Guess if all the VMs use all their RAM I will get into trobule, and I am at this point not aware what will happen then. Swapping, I Guess?
-
32GB and 24GB for VMs seem like really large, unlikely numbers for VMs that just happen to mirror physical size limitations imposed by hardware. Are you sure that those are realistic numbers to be using? That all of your RAM sizes are exactly like physical limitations suggests that you are manually designating numbers in a poor way and likely far too high. With VMs you would expect to almost always have very odd RAM sizes for performance and capacity reasons.
-
@Lakshmana said:
as per my knowledge we are having physically 16 GB we can allocate more than 2 to 3 times for virtual server ie we can allocate 32 GB to 48 GB for guest os it will give better performance no more impact...there is no need of changing any settings in the xenserver host setup
It's not so straightforward. Overcommitting can be very beneficial but it can also introduce risk (what if you need to use more than you have, you have to have swap ready to absorb that and performance because very unpredictable) and it encourages you to assign too much memory to VMs hurting performance there as well.
-
@flomer said:
XenTools is missing from at least one of them. Could that be it? I am in the process of removing VMware Tools from one of the VMs and will now install XenTools...
That would do it. XenTools (PV drivers) are likely needed to manage overcommitting.
-
@Dashrender said:
I didn't realize that overcommiting RAM was recommended?
Depends on your needs. I never do it, but it can make a lot of sense. Only makes sense when you have a lot of identical machines, like a CentOS 7 farm. If you run one or two of an OS and have lots of different OSes, the value goes to very low while maintaining the risks.
-
@scottalanmiller I was simply using those numbers as examples, actually. I have learned over the years that it's better to start low and increase as the VM needs more resources.
-
@flomer said:
@scottalanmiller I was simply using those numbers as examples, actually. I have learned over the years that it's better to start low and increase as the VM needs more resources.
I often try to estimate just a tiny bit high, look at the real needs when given available overhead and tune down.
Example: Give a PBX 1GB of RAM. Watch the real usage as well as caching and buffering over time. Then decrease until caching and buffering have enough overhead but only just enough. On a typical PBX this means we decrease to around 800MB.