Quote from Bernard111:
Isn't a 32 bit virtual machine running at least partially 'cached' into host 64 bit memory?
That does not help if the 64 bit host does not have a memory surplus to start with.
Basically:
max memory 32 bit: 4gb, in MOST cases 3.6gb usable.
max memory 64 bit - a LOT more.
But if you run a 2gb 32 bit machine on a 3gb 64 bit host - the host side caching can not materialize. Because there is no RAM to cache into. In that case it is better to run a 32 bit host with 3gb and no virtualization, as that eats some more memory.
OTOH, if you put 2gb 32 bit machine on a 64 bigt host with 16gb RAM - the host has a TON of ram to do IO caching
Now, "value providers" trying to be as cheap as possible will do what?
Exactly - they will load the host as high as they can. Plus possibly have cheap but large discs under them. THis means:
* No caching really happens
* The IO subsystem is a lot slower than on a real machine, because the slow discs one may buy for himself... now get split over 15 or 20 machines.
* Oh, btw., hope people do not USE Their machines, as the CPU otherwise is - hm - equally divided. This means pretty crappy.
A high performance host will:
* Set aside a proper overhead factor for his virtual machines. Say, reserv 20% of so of the memory for caching.
* Have a high end but expensive IO Subsystem, possibly using a SAN. I personally use Adaptec RAids at the moment with Battery unit, write back cache and the VM hosts run on a RAID 10. That is a LOT of money in discs for a mere 600gb volume.
* Look at CPU and distribute that evenly.
But then, this is not going to be a LOT cheaper than a dedicated server. It has a LOT of advantages (less power, better maintenance etc.), but it is not "get me a 2gb machine for 9.99 USD per month".
The difference gets visible, or example, when you have to reset the host (because yes, there are patches there, too) and then hit "start" on 20 vm's at the same time

MINE just come up - the IO just gets eaten. The cheap setup I used before (and we still use sometimes for really low end machines, or developer systems) takes minutes to start... because the discs just crap out with IO.