Ok in our last installment on Windows Server 2012 R1 and the balanced power plan, we saw core parking. But was that ‘bad’?
I think so. It depends, naturally, on a variety of factors, but generally speaking in server land, we want stuff done quickly, not don’t slower to save power. Generally.
So here’s what this looks like at high performance plan, running a Monero cryptonote mining program on 4 cores. In the image below you can see we have about 142 hashes / second from 4 cores of work. CPU is at about 62% across all cores, pretty evenly I think.
So great. What happens if we flip this to balanced plan?
We just lost 25% of our cores. 2 parked out of 8. Now, you’ll be quick to note, “hey its teh same CPU util, just busier on 6 cores and idle on 2, so who cares?”
Lets dig a little deeper. Looking at System\Processor Queue Length in perfmon:
Ok so we’re bouncing around. Waiting. We have items waiting on a CPU here some of the time. It’s not a lot. But this is a synthetic setup on a VM on a Dell T5500. Not a production server running, say, a stock exchange. So we have a few threads waiting for a core. So what?
Look what happens if we just pop back over to high.
As soon as I flip to high performance, queue length goes to 0. Because 2 of our 8 cores aren’t parked. And this is in a VM mind you. So there goes the theory that Virtual Machines don’t need a power plan set because they are virtual (I run into this argument from time to time…)
Next installment, we’ll examine the impact to the network stack.