It’s been almost a full year since I wrote this post on C-States, but I wanted to post an update and state that it still applies. Though most of the issues have been ironed out these days, in early testing of Windows 8, a few issues have crept up around C-States again, and I’d recommend that if you ever run into odd unexplained performance issues on your deployment, this would be the first thing to double-check. One additional comment I wanted to add that I didn’t really mention in the post last year is that there might be multiple settings in your BIOS, such as one for C1E. You’ll want to disable C1E in addition to C-States.
I had an interesting chat a month or two back with an engineer from a certain related technology company who shall remain nameless in which he argued that having C-States enabled on your server is like buying a high-performance race car but only driving below 55 MPH to save gasoline (or some metaphor like that, it doesn’t really matter), and if you wanted performance, you should disable it. The irritating thing about this is there’s a ton of press that comes out about all of the energy efficiency and green initiatives and blah blah blah, going on about how great these Intel procs can manage power, and that they can sleep or power down unused cores etc, but in the end, that’s all total marketing and you just disable all that and run it with your amp turned to 11.
In the end, the best way to conserve power is to load each host as full as you can load it, and then power off the spare hosts, rather than spreading your workloads across all your hosts and letting them run at 50%.
This concludes day 2 of our “12 days of Hyper-V Tips and Tricks”. If you’re coming to MMS 2012, be sure to check out SV-B313 -Hyper-V FAQs, Tips, and Tricks!
Have any questions? Feel free to contact me directly, or leave a comment below.
Good Luck, and Happy Virtualizing!