Author Topic: PC for running virtual machines  (Read 5781 times)

0 Members and 1 Guest are viewing this topic.

Offline rrinker

  • Super Contributor
  • ***
  • Posts: 2046
  • Country: us
Re: PC for running virtual machines
« Reply #25 on: August 01, 2019, 08:58:03 pm »
 Right until you start running VMs, then you need the cores, so each VM can have one. A fast 4 core may have great single threaded performance, but when you're trying to run 8 VMs, it's just not enough. An 8 core plus hyperthreading CPU might have lesser single thread performance, but in that same VM environment, it will rule.
 You're looking two completely opposing use cases. Standalone use, for most applications that are single threaded, you are completely right. But this topic has been about running multiple VMs, and more cores as slightly lower speed will win out when those VMs are running.
 My work laptop is only 2 core plus hyperthreading, though it does have 32GB RAM. I've run as many as 4 VMs plus the host, using Hyper-V on Windows 10 - for testing purposes it's fine, but those VMs start starving for CPU if I actually try to use them the way the OP does. My primary use is testing out server configuration and so forth, so high performance from my VMs is not a requirement. Were I to do something more along the lines of the OP, I would want a CPU with many cores and a decent amount of RAM. I'm considering something along those lines because I need to build a new server soon, my backup provider will soon stop supporting my version.
 

Offline olkipukki

  • Frequent Contributor
  • **
  • Posts: 790
  • Country: 00
Re: PC for running virtual machines
« Reply #26 on: August 01, 2019, 10:06:36 pm »
I am still using Ivy Bridge (E5 2680 v2 to be precisely) on my primary workstation.
This is a great CPU in term of TDP, number of cores and boost.

Would I buy it now for desktop/workstation? Of course, not.

If I keep same software in place unchanged and do not update these, that’s perfectly fine machine.
But I did at least a few updates last four years on this machine such as Altium Designer, and it’s not running faster.
I would believe this apply to almost every software package.  Each new release is getting bigger and much more complicated than previous, so a “single thread’ response is taking longer.

How to cut a time and get it quicker? That’s simple, just add raw 1Ghz+ and you back to the game.

As example, I am expecting a basic AMD 3600X will outperform above without synthetic tests.

P.S.
E5 2680 v2 find place in a rack to serve only server-based stuff
 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 4767
  • Country: nz
Re: PC for running virtual machines
« Reply #27 on: August 02, 2019, 12:53:05 am »
Right until you start running VMs, then you need the cores, so each VM can have one. A fast 4 core may have great single threaded performance, but when you're trying to run 8 VMs, it's just not enough. An 8 core plus hyperthreading CPU might have lesser single thread performance, but in that same VM environment, it will rule.

If you use VMs the way most people do -- to run multiple operating systems, or to keep the environment for each application separate -- and most of the apps are sitting idle most of the time, then memory and not swapping out is the important thing because the cores are mostly not doing anything anyway.
 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9821
  • Country: 00
  • Display aficionado
Re: PC for running virtual machines
« Reply #28 on: August 02, 2019, 03:27:42 pm »
Right until you start running VMs, then you need the cores, so each VM can have one. A fast 4 core may have great single threaded performance, but when you're trying to run 8 VMs, it's just not enough. An 8 core plus hyperthreading CPU might have lesser single thread performance, but in that same VM environment, it will rule.
 You're looking two completely opposing use cases. Standalone use, for most applications that are single threaded, you are completely right. But this topic has been about running multiple VMs, and more cores as slightly lower speed will win out when those VMs are running.
 My work laptop is only 2 core plus hyperthreading, though it does have 32GB RAM. I've run as many as 4 VMs plus the host, using Hyper-V on Windows 10 - for testing purposes it's fine, but those VMs start starving for CPU if I actually try to use them the way the OP does. My primary use is testing out server configuration and so forth, so high performance from my VMs is not a requirement. Were I to do something more along the lines of the OP, I would want a CPU with many cores and a decent amount of RAM. I'm considering something along those lines because I need to build a new server soon, my backup provider will soon stop supporting my version.
Sharing cores between VMs works very well. Unless all four virtual cores are loaded constantly, assigning the same two cores to two different VMs is fine. This is done in production environments regularly. It's just that two cores isn't great for this purpose, as the host OS will already eat a lot of it and the limited resources are competed for a bit too fiercely quickly.
 

Offline hamster_nz

  • Super Contributor
  • ***
  • Posts: 2812
  • Country: nz
Re: PC for running virtual machines
« Reply #29 on: August 03, 2019, 12:03:22 am »
Sharing cores between VMs works very well. Unless all four virtual cores are loaded constantly, assigning the same two cores to two different VMs is fine. This is done in production environments regularly. It's just that two cores isn't great for this purpose, as the host OS will already eat a lot of it and the limited resources are competed for a bit too fiercely quickly.

I sort of do this for a living, and the biggest sin our customers do is assign too many CPU cores to a VM, with their reasoning being "because more is better".

A VM with two cores at 90% is not slower than a VM with four cores at 45%.

I'm not sure about VirtualBox, but for quite a few other systems the VM has to have access to all assigned cores for it's time quantum, so on an quad-core box you can get two 2-core VMs running at the same time, but two quad-core VMs will need to fight it out.

General rule of  thumbs - physical RAM needs to be around the total of all the running VMs plus a little bit more, busy VMs need all their CPU core count in physical CPUs, mostly idle VMs need about 10% of their core count.

Hyperthreading doesn't really amount to much because of security, cache pressure, lower per-logical core performance and scheduling issues.

Oh, maybe the second biggest sin is leaving sessions logged in and software rendered OpenGL screen-savers enabled.  :D
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 

Offline ebclr

  • Super Contributor
  • ***
  • Posts: 2331
  • Country: 00
Re: PC for running virtual machines
« Reply #30 on: August 04, 2019, 10:52:18 pm »
I have a i7 5960X with 64Gb of memory, and I run 6 VM simultaneous, mixed between Linux, FeeBSD, windows 10, and even Windows XP, ANd works fine, but don't expect  any Virtual machine to perform at the same level of a Native hardware machine, the degradation is  sensible, Specially in video intensive aplications
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf