|
原文:http://blogs.msdn.com/davidnotario/archive/2005/04/27/412838.aspx
What is mscorsvw.exe and why is it eating up my CPU? What is this new CLR Optimization Service?
Short version:
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.
If you are really want to get rid of mscorsvw.exe from your task manager, just do:
ngen.exe executequeueditems
which will drain all the queued up work.
很多人通过Google浏览这个帖子,我试着翻译一下:
什么是mscorsvw.exe,为什么它狂占用我的电脑的CPU?什么是“新CLR优化服务”?
mscorsvw.exe是在后台预编译.net的assemblies。一旦它执行完毕,就停止。一般来说,当你安装了.NET的分发程序,它就会先用5到10分钟预编译那些高优先级的assemblies,然后等到你的电脑空闲的时候再去处理那些低优先级的assemblies 。一旦它全部处理完毕,它将会终止,你将不会再看到mscorsvw.exe。很重要的一点是,当你看到CPU被100%地占用,这就是发生在它处于一个低优先级的进程之中,所以它尽可能地不让其他你正运行的进程抢占CPU。一旦所有的assemblies都被编译完毕,assemblies将能跨进程地分享内存页。一般来说,这时的热启动将会快得多,所以我们不再丢弃你的其他进程。
如果你真的想要从你的任务管理器中消除mscorsvw.exe,可以这样做:
ngen.exe executequeueditems
这就可以让其后所有排队等候的进程开始工作。
精简成两句话:
1.mscorsvw.exe是.NET的预编译工具.
2.通过关闭CLR Optimization Service服务可以关闭这个程序.实际的服务名称和这个可能有此出入,似曾记得按名称排序,应该在第一位。 |
|