這周是完全屬於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 和本機映像服務的其他信息,請參見《本機映像服務:http://msdn.microsoft.com/zh-cn/library/ms165074.aspx》。