Link to home
Start Free TrialLog in
Avatar of menreeq
menreeq

asked on

VMWare Free Server, Quad or Dual Core?

I understand that VMWare Server Free allows you to use 2 physicall CPU's.  I am building a box that will run 2 Virtual Images.  Should i get 2 Quad Cores or 2 higher GHZ Dual Cores?  Any suggestions?
Avatar of PUNKY
PUNKY
Flag of United States of America image

2 Quad Cores or 2 higher GHZ Dual Core are all work.
Avatar of giltjr
You may want to verify just what they mean by 2 physical CPU's.

To a OS normally 2 quad cores would appear as 8 CPU's and I think that VMWare Server Free would only use 2 of the "8".  Meaning you have 6 CPU's sitting idle.

Same thing with the 2 dual core, the OS would see 4 CPU's and VMWare Server Free would only use 2 of the 4.

When they say "CPU", they really "chip" and when they say "core" they really mean "CPU."

That is a quad core "CPU" is really 1 chip with 8 CPU's and a dual core is really 2 CPU's on 1 chip.  Each core really operates as if was on a speperate chip with shared external level 2 cache.
VMware Virtual Server supports 2 processor Virtual SMP. That means that you can build a guest OS on it that uses two processors. The system that VMware Server is running on can have up 16 physical processors (http://www.vmware.com/pdf/server_vm_manual.pdf page 4). You can run up to 64 virtual machines per physical host. VMware recommends a maximum of 4 virtual machines per processor.

If you're getting that big, you really, really, really need ESX Server 3.0.1 (or Virtual Infrastructure 3)

In real life, you'll strike performance limitations due to lack of memory and disc space - but mostly memory.
A quad core with hyperthreading and 4GB RAM per core (up to 64GB max), at least 4 gigabit NICs and SAN connectivity. I'd strongly suggest buying something on the ESX Server 3 Systems Compatibilty Guide (http://www.vmware.com/support/pubs/vi_pubs.html) so that you have a simple and supported path to ESX server.
But for what you've described, a dual processor, dual core system will work well. Again, 4GB per core is a good rule of thumb.
Avatar of menreeq
menreeq

ASKER

Thanks for the input.  Allow me to be very detailed on what I am looking to do.  I am looking to purchase a new Dell 2950 server to run both a Terminal Server and A SBS Server for approximately 24 users.  I need to decide if I should purchase 1.6GHZ Quads or 2.3 Dual Cores.  Thinking of getting either 8 or 16 GB of Memory with 10k SCSI Drives.

So if I am going to stay with the free version what should I do, dual or quad?  If I stay with just two images it sounds like I should go with dual.  However, if I want to add a few more images down the line quad would be better choice, right?  May I should just buy one quad chip and get a second one in a year or two when I add a few more images.  Any thoughts?
That is good plan to go to get quad chip, more memory, and 10k or 15k scsi drives. Well, that is huge spending, though.
I'd go with the 2.3GHz Dual Cores and 16GB RAM - and since a 2950 is supported in ESX 3, you have a good upgrade path for when you need it. More memory is better as VMware can run the VMs without any swapping - therefore better performance.
Avatar of menreeq

ASKER

16GB sounds like a lot since if was to run each box by itself i would not get more then 4gb per box.  I assume the host would be fine with 2GB for a total of 10GB.  Can you explain why in the VM world we need 16GB.  I am not arguing with you, just have little expereince with VMWare and need more info. Thanks!
>quad would be better choice, right?
Not necessarily. The 2.3GHz chips are roughly 30% faster that the 1.6GHz chips per core - and that will affect the individual virtual machine performance, so the faster cores may be your better option - but it really depends on the apps you'll be running. Remember that VMware distributes the server load amongst all available chips, and most servers run at around 10% utilization, so you'll have plenty of headroom to run more VMs.

In a year or two chip prices will almost certainly have dropped dramatically (good 'ole Moore's law), so you'll be able to pick up a cheap well-specc'd server. At that point, if you find you've grown the number of VMs, then ESX Server with Vmotion may be your best option.

> May I should just buy one quad chip
Remember that a dual core chip is not 2 x the performance of a single core chip - it's more like 1.75 - 1.8 x. The same thing applies to 4 core chips, so you're better off with a pair of dual core chips than a single quad core chip.  
16GB allows you to run more VMs without VMware having to run memory management (which it does very well indeed) - but memory management means a performance penalty. In particular, if VMware has to swap a VM's memory out to disc then performance really suffers.

And generally speaking, you can lean on Dell to give you a better discount when you're buying a server than when you just buy a RAM upgrade... :-)
Avatar of menreeq

ASKER

Let me see if i understand.  If the machine has 16GB and i specify that each machine will only have access to 6GB of memory it will never have to swap out, assuming the Host does not use more then 4, right?

Do you usually assign more memory to the images then the total possible memory?  Should i assign each image 12 GB if i have 16 availalbe?
IMHO, No.  You should only give each VM the amount of memory it needs to do its work plus a little bit.  The problem is that Windows will use all the memory you give it.  Windows will use as much as it can for file caching.

If you assign each VM 12 GB and the box only has 16GB, you could (will) end up over taxing your physical memory and cause the host OS to do swapping/paging.  

Which will impact performance on the other VM's.  Having the hosts OS's paging file isolated from the VM's file systems would help reduce the impact of paging.  But the main goal would be to reduce paging does my the host OS as much as possible.
>Let me see if i understand.  If the machine has 16GB and i specify that each machine will only have access to 6GB of memory it will never have to swap out, assuming the Host does not use more then 4, right?

No. If you have a host with 16GB, and you have three 4GB virtual machines running on it, then the VMs will pretty much run in their own memory space. If you have four or more 4GB VMs, then VMware Server (or ESX Server for that matter) use a number of mechanisms to manage memory, such as single instancing of memory, the balloon driver and swap space. The balloon driver forces a virtual machine's OS to relinquish memory back to VMware Server so that it can re-allocate it to another VM. If the demand for memory is high enough then a quiet VM will get 'parked' and have its memory swapped out to disc.

The trap for people new to VMware is to go nuts on allocating resources and give every running VM 4GB and quad processors when all a VM may really needs is 512MB and a single processor. When you over-allocate resources in this way, you really hamstring VMware and its mechanisms that ensure fair access to the underlying physical resources. Allocate the resources to the VM as you would a physical box - as if it was costing you money. If your VM OS only needs 1GB, then only give it 1GB. If it needs 4GB, then give it 4GB. The beauty of VMware, of course, is that you can quickly and simply change all these settings.
Avatar of menreeq

ASKER

Thank you all for your input.  Meyersd it makes sense that you would only allocate the memory each VM needs if they were running on their own box.  

One last point to clarify.  VMWare Server only allows you to assign a maximum of 2 cpu's per image.  If  i had a total of 8 cores, and had 2 images running both specified to use 2 cpu's any chance that they would both be assisgned the same 2 cores?  Leaving the other 6 cores unused?
ASKER CERTIFIED SOLUTION
Avatar of Duncan Meyers
Duncan Meyers
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Glad I could help.