升级Win7 SP1后mscorsvw.exe狂占CPU
这周是完全属于Windows 7 SP1的,在微软正式放开所有用户的Windows 7 SP1 在线升级后,一些朋友碰到了一个尴尬的问题,就是发现系统变得很慢。打开任务管理器,发现一个名为 mscorsvw.exe 的进程CPU占用率达80%以上甚至100%。当然,不会所有朋友会碰到这个现象,因为这和在线升级SP1前您安装运行的软件有关。
那么,这个 mscorsvw.exe 到底是什么?该怎么处理呢?
关于这个问题,微软的MSDN官方博客上面有这么一处回答:
http://blogs.msdn.com/b/davidnotario/archive/2005/04/27/412838.aspx
英文好的朋友可以直接参阅里面的详细信息,不喜欢英文的朋友接着往下读,软媒小编把这些内容整理了下放到了Win7之家里面。
什么是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 重新创建已经失效的映像。
- 操作可由计算机上使用空闲时间生成和安装映像的服务推迟执行。
- 消除了一些导致映像无效的因素。