Thursday, July 12, 2012

Windows 8 and the Freeze Bug

I believe in one of my previous Windows 8 entries I mentioned I thought there might be input queue issues but I was wrong.  The issue was even lower than that and Microsoft has published (in a tech blog) a workaround that has worked for me over the past 48 hours.

The problem, it turns out, is some code that manages dynamic CPU ticking.  This allows the OS to power down individual CPUs when they are not needed, a great power saver for battery-dependent systems.  With Windows 8, this interface is not working with the latest intel core CPUs (i3, i5 and i7 series) and the CPUs are getting powered down one at a time until the system just hangs, but does not crash.

The workaround is to set a simple OS flag then reboot.  The flag disables the dynamic CPU management of the clock.  So far, as I mentioned previously, it has worked for me.  I was having hangs occur several times per day.  They seemed to happen most frequently when I was browsing the web and encountered sites that used Flash heavily.

Anyway, if anyone reading this has been suffering from this problem, the fix is:

1. Open a terminal in administrator mode.
2. type (without the quotes) "bcdedit /set disabledynamictick yes" and hit return.
3. Reboot your system.

Once your system comes back up your problem should be cured.  Apparently there was another workaround that was discovered prior to the MS solution.  You could turn on hyper-v which is Microsoft's virtual machine code.  This could slow your system down a tad tho'.

Anyway, I am very happy to have finally found the solution to this problem (at least I believe it is the solution, 48 hours of smooth sailing so far) which has been plaguing me for months.  Microsoft will fix this for the actual release of Windows 8.  I guess it isn't a huge surprise that something like this might crop up considering all the kernel-level changes Microsoft has been making to Windows to squeeze out every bit of performance possible.