关于mscorsvw.exe进程


Posted on March 27, 2007


原文: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 这就可以让其后所有排队等候的进程开始工作。

 


标签:N/A

 

在线学习答案查询入口
微信扫码联系
微信扫码联系