AMD/Hyper-V does a terrible job of managing the CPU C-State that is probably causing you serious performance issues.

I have a cheap AMD-based server in my basement.  Cheap servers generally aren’t terribly power efficient and the latest/greatest AMD cpu, the AMD-FX(tm)-9590, has been scoffed at by reviewers for how power inefficient it is, running a ridiculous 220W TDP.

Of course the thing only consumes 220W when it is fully loaded and the CPU is supposed to ramp-up its clock speed on-demand when programs need it.

After installing the new CPU, finding a suitable Water-cooler (required), I moved all my virtual machines from my OLD host to the new one.   One of those virtual machines included an IPCop Firewall.

It all came up and running, and after updating my motherboard bios it became stable (make sure you do that).

As time went by, however, I was noticing that my internet was running slow.  I went so far as to call up my ISP and have them come out and run some diagnostics at my location.  My 50 megabit line was performing < 20mb… sometimes down to even 10mb.  The tech plugged directly into my modem and ran the speed test from his laptop and got 56mb from it.

He left… I scratched my head and thought to myself for a moment, then I decided to download the AMD overdrive utility.  I installed it and clicked the little green “TURBO” button in the upper right hand corner of the app.

I ran the speed test again… and I got 56 megabits!

Turns out, that when there’s virtualization running on the CPU, the CPU does a terrible job of deciding what P-State the CPU should be in.  As a result, the CPU was not ramping up to meet the demands of my firewall and my internet speeds were suffering as a result.

Unfortunately, this means that now I’m running my 220W CPU at full blast 24-7.  I don’t really think this is acceptable.   Maybe I can come up with a better solution.

 

 

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.