mscorsvw.exe狂占CPU之解决方法

一些朋友碰到了一个尴尬的问题,就是发现系统变得很慢。打开任务管理器,发现一个名为 mscorsvw.exe 的进程CPU占用率达80%以上甚至100%。

那么,这个 mscorsvw.exe 到底是什么?该怎么处理呢?

关于这个问题,微软的MSDN官方博客上面有这么一处回答:

http://blogs.msdn.com/b/davidnotario/archive/2005/04/27/412838.aspx

什么是mscorsvw.exe,为什么它狂占用我的电脑的CPU?什么是“新CLR优化服务”?

mscorsvw.exe是在后台预编译.net的assemblies(集合)。一旦它执行完毕,就停止。一般来说,当你安装了.NET的分发程序,它就会先用5到10分钟预编译那些高优先级的assemblies,然后等到你的电脑空闲的时候再去处理那些低优先级的assemblies 。一旦它全部处理完毕,它将会终止,你将不会再看到mscorsvw.exe。很重要的一点是,当你看到CPU被100%地占用,这就是发生在它处于一个低优先级的进程之中,所以它尽可能地不让其他你正运行的进程抢占CPU。一旦所有的assemblies都被编译完毕,assemblies将能跨进程地分享内存页。一般来说,这时的热启动将会快得多,所以我们不再丢弃你的其他进程。

看完上面一堆说明,有点头晕吧,这个进程对非程序员开发者用户来说,是可以关闭掉的。

如何关闭这个进程:

当您想直接从Win7的任务管理器里面直接关闭 mscorsvw.exe 进程时,发现这个进程是结束不了的。

如果你真的想要从你的任务管理器中消除mscorsvw.exe,可以这样做:

1、通过命令来关闭:

ngen.exe executequeueditems 这就可以让其后所有排队等候的进程开始工作。

2.通过关闭服务可以关闭这个程序.

Microsoft.NET Runtime Optimization Service是.NET运行优化服务进程,关掉这个服务就可以了!

mscorsvw.exe 文件分析

进程文件: mscorsvw.exe

进程名称: .NET Runtime Optimization Service

英文描述: mscorsvw.exe is a process belonging to Microsoft .NET Framework. This program is a non-essential process, but should not be terminated unless suspected to be causing problems.

进程分析: Microsoft Visual Studio 2005 Framework预编译工具。

进程位置: unknown

程序用途: 后台预编译.net的assemblies

作者: Microsoft

属于: Microsoft .NET Framework

安全等级 (0-5): 0 (N/A无危险 5最危险)

间谍软件: 否

广告软件: 否

病毒: 否

木马: 否

系统进程: 是

应用程序: 否

后台程序: 是

使用访问: 否

访问互联网: 否

另外有关ngen.exe的相关资料可于微软官方网站查看:

本机映像生成器 (Ngen.exe) - .NET Framework 工具

更新:2007 年 11 月

本机映像生成器 (Ngen.exe) 是一个提高托管应用程序性能的工具。Ngen.exe 创建本机映像(包含经编译的特定于处理器的机器代码的文件),并将它们安装到本地计算机上的本机映像缓存中。运行库可从缓存中使用本机映像,而不是使用实时 (JIT) 编译器编译原始程序集。

在 .NET Framework 2.0 版中,Ngen.exe 有了很大变化:

  • 安装程序集时还将安装其依赖项,从而简化了 Ngen.exe 的语法。
  • 现在可以在应用程序域之间共享本机映像。
  • 可利用新增操作 update 重新创建已经失效的映像。
  • 操作可由计算机上使用空闲时间生成和安装映像的服务推迟执行。
  • 消除了一些导致映像无效的因素。