Came across a fascinating thread on TenForums this morning. It could be of significant interest to admins and power users who make heavy or regular use of virtualization. This is especially true for those running some version of VMware. This thread is entitled “How to update the CPU’s microcode” and includes pointers to a bunch of tools and utilities. The basic concept is that virtualization makes heavy use of specific CPU instructions that work with virtual machines. These instructions are subject to occasional stability and efficiency issues, and microcode updates seek to remedy such things. VMware, in fact, offers a utility called the “VMware CPU Microcode Update Driver” for this very purpose. This lends considerable credence to my assertion that “Virtualization means CPU microcode matters.”
If Virtualization Means CPU Microcode Matters,
Should It Be Updated?
Microcode works like a device driver for your CPU. That means it should be treated like a device driver: updated if problems present, left alone otherwise. Of course, if you’re running VMware and the company recommends a specific microcode level, you’d be well-advised to pony up. But do you need to update or not?
For most makes of motherboard and PC (to tackle DIY and OEM machines in a single go), the answer is probably “No.” If the BIOS running with the CPU is the same vintage as the recommended microcode, or newer, chances are pretty good that a BIOS update will include the necessary microcode update as well. But, as the TenForums thread indicates, some motherboard makers don’t update their BIOSes very frequently (and some not at all). In those cases, a manual update of the microcode could address virtualization issues that might present themselves.
You can find all the details on how to do this using the VMware tool in the TenForums post and on the VMware utility download page. This isn’t something to do just for grins, but it could be helpful for PCs experiencing virtualization issues. If that describes you (or some of your PCs) you might want to give this a try.