VMware Communities
pkellner
Contributor
Contributor

Allocating 8 processors to an 8 processor base system

I've got a macbook retina that has 8 processors and 16gb ram.  I am having some performance issues with my windows 8 vm running and I currently have it set to 8gb and 4 processors.  I just noticed I can set it to 8 processors.  That worries me a little because I don't want to starve the mac side and have it get unstable.  Does anyone know if I'm worrying for nothing? Is it safe torun 8 processor vm on an 8 processor system?

thanks,

Peter Kellner Microsoft MVP and AspInsider http://peterkellner.net
Tags (1)
Reply
0 Kudos
12 Replies
knmdk
Contributor
Contributor

Just try it. The most terrible thing that can happen is VMware Fusion will quit/freeze.

I'm also sure you should provide some more information regrading the software you're running inside guest OS. It may happen you experience performance issues not because of lack of RAM/CPU but because of outdated graphics driver used by VMware Fusion. You can see search for my thread with video on that particular issue (still not resoluted).

Reply
0 Kudos
continuum
Immortal
Immortal

I would expect better performance if you reduce the amount of RAM and vCPUs - in my experience using all possible CPUs only slows down the VM


________________________________________________
Do you need support with a VMFS recovery problem ? - send a message via skype "sanbarrow"
I do not support Workstation 16 at this time ...

Reply
0 Kudos
pkellner
Contributor
Contributor

I'm doing Windows 8 store development with Visual Studio 2012.  I find that their visual design tool (Blend) really bogs down. I have not tried it on a non-vm so I am not sure if it's related to the VM and 8 verses 16 gb of ram or not (or 4 verses 8 processors).  I doubt it uses all processors, but who knows.  When the windows 8 bootcamp drivers are released by Apple, I will certainly try running native on the macbook retina and see if there is a difference.  I know the hard disk performance is better native because I did try that with the retina and windows 8, but since thunderbolt ports don't work, it's a show stopper since I can't run my external monitors or drives.

Peter Kellner Microsoft MVP and AspInsider http://peterkellner.net
Reply
0 Kudos
MacsRule
Hot Shot
Hot Shot

Peter Kellner wrote:

I'm doing Windows 8 store development with Visual Studio 2012.  I find that their visual design tool (Blend) really bogs down. I have not tried it on a non-vm so I am not sure if it's related to the VM and 8 verses 16 gb of ram or not (or 4 verses 8 processors).  I doubt it uses all processors, but who knows...

Maybe there's a way to find out. When you run Activity Monitor, it'll show the % of CPU usage. You probably have an i7 CPU in your rMBP which has four physical cores and 8 virtual cores, which is what you're trying to assign to the VM. If processes are assigned to all of the virtual cores, you'd see them each running in the Process Name column and the % CPU for some of the processes sometimes running well over 100% in the % CPU column. If the i7 is fully engaged you should see, in the lower left of the Activity Monitor window, the "% User" reading at nearly 100%. You'll also hear the fans desperately trying to cool the CPU down.

Reply
0 Kudos
ColoradoMarmot
Champion
Champion

You actually only have 4 cores in the rMBP (virtual cores do not count), so you're starving the host already.  Drop back to 2 or 3 cores and you should get better performance.

Reply
0 Kudos
MacsRule
Hot Shot
Hot Shot

dlhotka wrote:

You actually only have 4 cores in the rMBP (virtual cores do not count)...

So if 4 cores are assigned to the VM (I've done that with my Windows VM's so I'm curious; I have 2 left over) in Processors & Memory, 4 physical cores are presented to Windows? In that case, since Windows is directly accessing the processors, does it make use of 8 virtual cores in an i7 or Westmere processor?

Reply
0 Kudos
ColoradoMarmot
Champion
Champion

Hmmm....Good question.  Fusion is a virtualization product, not an emulation product.   That means that the CPU is exposed directly to the guest OS (that's why we have to re-activate when switching machines), but I don't know if, or how, the virtual cores are enabled.

Reply
0 Kudos
MacsRule
Hot Shot
Hot Shot

dlhotka wrote:

Hmmm....Good question.  Fusion is a virtualization product, not an emulation product.   That means that the CPU is exposed directly to the guest OS (that's why we have to re-activate when switching machines), but I don't know if, or how, the virtual cores are enabled.

FWIW, with 4 cores allocated to Windows by Fusion, a program running in the guest called CPU-Z correctly identifies the processor type and shows 4 cores and 4 threads. Device Manager also shows 4 cores. But Fusion's Processor and Memory tab in System Settings offers up to 8 processor cores. I'm using a 6 core Westmere Mac Pro which shows 12 processor ID's enabled in verbose mode at boot, which makes sense with 2 virtual cores (if that's the correct nomenclature) for each physical core in that processor. Since there are only 6 physical cores available, would Fusion offer more physical cores than are actually in the host, or does it see each virtual core as one core in the core count for processor core setting purposes?

Reply
0 Kudos
WoodyZ
Immortal
Immortal

Reply
0 Kudos
MacsRule
Hot Shot
Hot Shot

WoodyZ wrote:

Have a look at "Processor" under Virtual Hardware Specifications and also Set the Number of Virtual Processors.

Thanks for the links. Having read through them, though, I'm still not clear how a virtual processor, a logical processor, and a physical processor relate to each other. On the 6 core Westmere, is a core the same as a physical processor, and if so, are the 12 processors being listed as enabled in the kernel.log at boot time logical or virtual processors? And which of them is being referred to in the Processor drop-down list in Processor preferences? Indeed, does Fusion take note of what's actually available on the host and customize that list accordingly?

Reply
0 Kudos
avanish321
Expert
Expert

As far as my understanding goes,

1 core = 2 virtual cpus

Fusion gives the virtual cpu counts.

So if you have 6 core processor , you wil have 12 vcpus and may assign a max of 6 vcpus ( its always best to assign not more than half of vcpus available in host ) for any vm in fusion.

Cheers! Avanish
Reply
0 Kudos
MacsRule
Hot Shot
Hot Shot

avanish wrote:

As far as my understanding goes,

1 core = 2 virtual cpus

Fusion gives the virtual cpu counts.

So if you have 6 core processor , you wil have 12 vcpus and may assign a max of 6 vcpus ( its always best to assign not more than half of vcpus available in host ) for any vm in fusion.

I guess that demonstrates why I'm searching for clarification to improve my understanding of how Fusion (currently 5.0.2) handles guest CPU choices and what the guest actually thinks it's getting: on my 6 core Westmere with 12 virtual CPU's, Fusion is offering the choice of 1, 2, 4, or 8 cores to give the guest. Since I've got the cores to work with, I prefer to give plenty of cores (and RAM) to the VM if the guest is capable of running its own guest (e.g., XPMode in Win 7 Pro or a VM in Hyper-V in Win 8 Pro) and in Windows, changing core count after the fact will probably trigger reactivation. Measure twice, cut once.Smiley Wink

Reply
0 Kudos