The official release of Microsoft’s Windows 7 SP1, update was made available to all users via Windows Update or by using offline installer. While for most the upgrade went smoothly, some users ran into an embarrassing problem that their system started running very slow.
If you open the Task Manager in such a scenario, you will now find a process called mscorsvw.exe which has a CPU usage of more than 50% ! This service is actually used by .Net framework to pre-compile. So, what is the mscorsvw.exe process and how to deal with it?
David Notario’s long back made the following observation on Microsoft’s MSDN blog:
mscorsvw.exe is precompiling .NET assemblies in the background. Once it’s done, it will go away. Typically, after you install the .NET Redist, it will be done with the high priority assemblies in 5 to 10 minutes and then will wait until your computer is idle to process the low priority assemblies. Once it does that it will shutdown and you won’t see mscorsvw.exe. One important thing is that while you may see 100% CPU usage, the compilation happens in a process with low priority, so it tries not to steal the CPU for other stuff you are doing. Once everything is compiled, assemblies will now be able to share pages across different processes and warm start up will be typically much faster, so we’re not throwing away your cycles.
The cause is the mscorsvw.exe process is recompiling .Net assemblies in the background. So normally, the process will go away after a while and your computer speed should be back to normal. Even if you wish, you cannot kill the process in the normal way.
This is because, the process mscorsvw.exe is a system process, so when you attempt to close it directly through Task Manager, you won’t be able to do that! You have to be a bit proficient in CMD.
If you don’t want to wait until your computer is idle, so that it can start compiling, you can do the following:
1. Navigate to “C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727” in Windows Explorer.
2. Click on Start, type CMD and run it as admin. On command prompt specify the above path and type ngen.exe executequeueditems. This command will process all pending work. Once this is done, the service will shutdown, as it has nothing else to do.
3. Restart your computer, now you will see that there will be no mscorsvw.exe process running in Task Manager!
This trick will help you until Microsoft releases an official fix for this problem.