VMware Communities
llagos
Contributor
Contributor

help/confusion assigning Processors versus CPU and COREs to guest Linux

Hi Everybody,

I'm new to VMWare, so here's my first big question/confusion.

I have a win7 machine with a i7 4-core CPU. I want to assign 3 of them (physical cores) to one particular VM. When I configure the "Processors" on the VM, I can select from 1 up to 16 CPU, and also up to 16 Cores per CPU. However, if I do a simple math, and say 4 physical cores equals 16 VMWare "processors", I should select 12 CPU. However, this number is not available (Processors can be 1, 2,4 , 8, and 16). Not even 3!

So, How does this work? this, I  mean, the relationship between physical cores on the Host, and "Processors, CPU and Cores" on the Guest?

Thanks a lot,!

Regards,

Leo

0 Kudos
6 Replies
a_p_
Leadership
Leadership

>>> ... if I do a simple math, and say 4 physical cores equals 16 VMWare "processors", ...

That's an interesting math, how did you do this!? What you basically have with an I7 4-core physical CPU and Hyper-Threading enabled is 8 logical processors. So 8 is the maximum you can assign (although you need to make sure that the host gets its shares too). I'm not sure whether an uneven number of vCPUs (except for 1) can be assigned to a VM. If you want you can try to modify the VM's .vmx file manually to see whether this works.

André

llagos
Contributor
Contributor

Thanks André,

May I continue with the silly newbie questions?

In the win host, under Device Manager, I only have 4 Processors, all i7 2620M. Reading in intel website, the i7 2620m is a 2-core and 4-threads, so I guess that account's for 8 vCPU total, right?

ARK | Intel® Core™ i7-2620M Processor (4M Cache, up to 3.40 GHz)

Now, how can I check, in Win7 if this hyper-thread is enabled? If so, I should see 8 CPU in Device Manager, right?

How can I check in the Linux guest is there is support for hyper-thread? and how can I check this on VMWare wks 10?

Thanks again,

Regards,

0 Kudos
a_p_
Leadership
Leadership

In the win host, under Device Manager, I only have 4 Processors, all i7 2620M. Reading in intel website, the i7 2620m is a 2-core and 4-threads, so I guess that account's for 8 vCPU total, right?

Not exactly. The mentioned CPU is a dual core CPU, and with HyperThreading enabled it will show up with 4 "cores" in the Task Manager.

How can I check in the Linux guest is there is support for hyper-thread? and how can I check this on VMWare wks 10?

You cannot see this from the virtual machine. VMware Workstation present vCPUs to a VM and you can only configure how they are presented to the VM, either as separate single-core processors, or as multi-core processors.

André

llagos
Contributor
Contributor

Thanks André.

As for VMWks, if I wanted to give 75% of my "processor" power to this VM, I should select then 3 vCPU, out of this maximum of 4 vCPUs, and the number of threads wouldn't matter, since as You say, VMWks will deal with that... the important thing is the vCPU...

Regards,

0 Kudos
a_p_
Leadership
Leadership

Just to clarify this. Your host CPU has two physical cores. With HyperThreading enabled it provides 4 logical processors (i.e. threads). As mentioned before, I doubt that you can assign 3 vCPUs to a VM, but you may simply try it. Maybe it works.

André

0 Kudos
llagos
Contributor
Contributor

Thanks André,

I tried modifying the file, and it works! Smiley Happy thanks! Now it says "Custom: 3" in the Settings, and in the guest, top shows 3 CPU! Perfect!

Thanks again!

Leo

0 Kudos