

The L1 has separate data cache and instruction cache. On a 4-core host, I wouldn't run more than one 2-core guest at a time if there's any significant load on the host.Īt a high level, each CPU core has its own L1/L2 caches and execution engine. For those old machines, upgrading really is idea.

VMWARE FUSION 10 VS 10PRO WINDOWS 10
Windows 10 and OSX both require 2 cores to the guest in order to function properly, so there will always be resource contention. There are some special cases, especially on 2-core hosts. But there's a dramatic speed improvement across the board if I never exceed a total of 6 cores in use by VM's. The machine's slow, but it works (as long as nothing is spiking any CPU usage). I have an 8-core i7 (8 real cores), and can run 2, 2-core, and 1 3-core VM's simultaneously. You can run multiple N-1 virtual machines at the same time. That causes resource contention and the machine starts thrashing, slowing overall performance (and in some cases crashing). Hyperthreading is irrelevant in this case, it's physical cores - the details are somewhat arcane, but it has to do with how both the host and guest OS lock them during use. So the rule of thumb is no more than N-1 virtual (vmware) cores per any individual VM, where N is the number of physical (not virtual, not hyperthreading cores in the machine), and ideally no more than N-2 (so there's always 2 for the host). However, since this will still be running for a couple of days I don't wan to get into a situation where it slows down later in the process due to some problem related to using too many cores. Initial test running the workload for some time show that it seems to perform better in the 12 cores setup.

I'm not quite certain what to make of that. When I'm running the VM with 6 CPU cores and run with 12 Threads, I see only 6 CPUs fully utilized and the other 6 at 60%-75% utilization. When I set up the VM to use all 12 Cores and start my workload with 12 threads, I can see in the MacOS ActivityMonitore that all 12 vCPUs are being fully utilized. I guess I'n not quite sure on how physical CPU cores and hyperthreading vCPUs are treated here and how the guest will be able to utilize the cores. Is this just a general warning that I am allowing Windows to eat up all the CPU cycles while running my workload? Again, that wouldn't be a problem since I am looking to fully utilize the CPU anyways. So I'm not quite sure what to make out of this. However, when setting up more than 6 cores, VMWare gives a warning that this may negatively impact performance on both MacOS and the Guest OS. My inclination is to set the VM to use 12 Cores so that each vCPU of the i7 is available to the guest. I just want it to run as effective as possible. I don't mind if this impacts usability of host or guest while the workload is running. I have a very CPU intensive and highly parallizable workload for Windows that I want to run and get the maximum out of the CPU. I'm running Windows 10 in VMWare Fusion on Mac-Mini (2018) i7-8700B CPU 3.20GHz with 32GB RAM.
