Solved

vCPUs, sockets vs cores, which one to use, when?

Posted on 2012-03-15
6
850 Views
Last Modified: 2012-03-16
Been trying to figure out how to select virtual CPUs for my VM's on an ESXi 5.0 host and am looking for practical advice for a lightweight "home lab" environment, with 3-4 always running VM's and another 2-4 VM's running during weekend "lab time". (Over time the numbers may well increase, of course.)

Am running all Windows OSes at this point, like Win 7 (32 and 64bit), WHS2011, Windows Server 2008, etc. but plan to start adding a few linux VMs in the near future.

I have an Intel i7 (quad core) processor. Depending on the OS, I can select 1 - 8 sockets and 1 -  8 cores in combinations not exceeding a total of 8.

I have 3 questions:

1. Will Windows 7 and WHS 2001 actually make use of multiple CPUs out of the box for standard "user" workloads, e.g. web browsing, editing, including photos, video streaming, etc, or do I need to do some config work to make it work? (just need to know if more work is needed, not the actual work at this point - I can look that up later)

2. If I just want to give a VM 2 vCPU's, should I pick 2 sockets and 1 core over 1 socket and 2 cores or vice versa?

3. With hyperthreading enable do I need to give an extra core for each socket, (or socket for each core??) or does it work regardless of cores/sockets assigned, i.e. will it work with 1 vCPU (1 core on 1 socket)?
0
Comment
Question by:johnnyt29
  • 3
  • 3
6 Comments
 
LVL 117
ID: 37726849
1. Both OS will detect 2 Processors, but it depends on the applications you use.  Add 1 vCPU, test and then add a 2nd and test, if no performance gain remove. This is the recommended approach. VMware Admins always over allocate in error with cpus and memory in VMs, start small, and increase if required. For basic Windows, 1 will be suitable and fine, but check performance with the tools, performance monitor, task manager, resource monitor in the
VM and Performance Tabs in vSphere Client.

2. Add Sockets. add Cores to comply with licensing.

3. 1 vCPU = 1 physical core on the host.

See Pages 17-27 in the vSphere 5.0 Resources Guide

http://pubs.vmware.com/vsphere-50/topic/com.vmware.ICbase/PDF/vsphere-esxi-vcenter-server-50-resource-management-guide.pdf
0
 

Author Comment

by:johnnyt29
ID: 37727011
1. do you mean add 1 socket, then a 2nd socket? what about cores? 1, 2?

2. assume I have no licensing constraints, what does adding cores do?

3. have read through the resource guide and don't understand from it what hyperthreading needs, if anything, another socket?, another core? maybe I just missed it.
0
 
LVL 117

Accepted Solution

by:
Andrew Hancock (VMware vExpert / EE MVE) earned 500 total points
ID: 37727038
1. Correct, add 1 vCPU (socket), and check if you VM is slow, if you require more performance, add another vCPU (socket). Ignore Cores.

2. Cores were implemented, due to varius license constraints.
See this articles

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1010184

3. Hyperthreading does not need anything.
http://en.wikipedia.org/wiki/Hyper-threading
0
Free Gift Card with Acronis Backup Purchase!

Backup any data in any location: local and remote systems, physical and virtual servers, private and public clouds, Macs and PCs, tablets and mobile devices, & more! For limited time only, buy any Acronis backup products and get a FREE Amazon/Best Buy gift card worth up to $200!

 

Author Comment

by:johnnyt29
ID: 37728629
re: hyperthreading. there's an advanced CPU option under "resources" to select "Hyperthreaded Core Sharing" that says it is to "allow sharing of physical CPU cores when the host supports hyperthreading". This seems to suggest (to me anyway) that I need to allocate more than 1 core if I want hyperthreading to work so I'm still confused.

Also, will everything work as intended if I change sockets and/or cores after I've installed the OS, or do I need to do a new OS installation?
0
 
LVL 117
ID: 37729223
You allocate one CPU per virtual machine it's a processor. (The Hypervisor maps this processor in the VM to 1 Core on the host).

Leave that option set to ANY, and let the Hypervisor, pick the Core it wants to run the VM on. This allows you to pick a core on the host, and tie the VM to a particular core!

Also, will everything work as intended if I change sockets and/or cores after I've installed the OS, or do I need to do a new OS installation?

Yes, no changes required on OS.
0
 

Author Comment

by:johnnyt29
ID: 37730904
0

Featured Post

Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

Join & Write a Comment

Will try to explain how to use the VMware feature TAGs in the VMs and create Veeam Backup Jobs using TAGs. Since this article is too long, I will create second article for the Veeam tasks.
This article will show you how to create an ISO CD-ROM/DVD-ROM image (*.iso), and MD5 checksum signature, for use with VMware vSphere Hypervisor 6.5 (ESXi 6.5). It's a good idea to compare checksums, because many installations fail because of a corr…
Teach the user how to rename, unmount, delete and upgrade VMFS datastores. Open vSphere Web Client: Rename VMFS and NFS datastores: Upgrade VMFS-3 volume to VMFS-5: Unmount VMFS datastore: Delete a VMFS datastore:
Teach the user how to install and configure the vCenter Orchestrator virtual appliance Open vSphere Web Client: Deploy vCenter Orchestrator virtual appliance OVA file: Verify vCenter Orchestrator virtual appliance boots successfully: Connect to the …

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now