When a 64-bit application compiled with /LARGEADDRESSAWARE:NO option is running in the 64-bit versions of Windows Vista or in the 64-bit versions of Windows 7, the system may experience CPU spike for 1-2 minutes and this goes on in-definitely. In this situation, the Task Manager show the svchost.exe process hosting the SysMain(SuperFetch) service is consuming the CPU utilization.
Windows creates a single read-only Virtual Address Descriptor (VAD) for the address space above 2GB while creating the process. SuperFetch while scanning the VAD tree of the running process encounters the VAD and spins with the huge VAD size, causing the CPU to spike.
To work around this issue, avoid option /LARGEADDRESSAWARE:NO while compiling the applications.
Note: By default a 64-bit application makes use of the Extended Address Space (8 terabytes per process).
sysmain, superfetch, high cpu, vivekar, LARGEADDRESSAWARE, 64 bit