One of the advantages of infrastructure as code is that we now have complete control of the states of a computer.
This consequently means that I can measure performance between two known states and I only have to look at the difference between states to figure out what went wrong.
Well, in theory. Microsoft and the Microsoft Updates keep pulling the carpet under your feet.
In this case, one of the patch Tuesdays in February introduced KB 2952664 which adds the "Microsoft Compatibility Appraiser" to ostensibly ease transition to Windows 10. Unfortunately that drives up CPU usage and brings computers (and much worse, VMs) to their knees.
The whole process is a collection of tasks running regularly, whether a user is logged on or not and more importantly whether you opt-in for the MS customer experience program or not.
It's all very fishy.
Turns out VMWare has a knowledge base article for the tasks that need to be excised.
The following commandlines solve (or at least appear to solve) the problem:
schtasks /Delete /F /TN "\Microsoft\Windows\Application Experience\AitAgent" schtasks /Delete /F /TN "\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser " schtasks /Delete /F /TN "\Microsoft\Windows\Application Experience\ProgramDataUpdater" schtasks /Delete /F /TN "\Microsoft\Windows\Customer Experience Improvement Program\Consolidator" schtasks /Delete /F /TN "\Microsoft\Windows\Customer Experience Improvement Program\KernelCEIPTask" schtasks /Delete /F /TN "\Microsoft\Windows\Customer Experience Improvement Program\Use CEIP"
These will go into a new windev recipe for sure.