windows server 2012 R2 .NET Runtime Optimization Service CPU占用高


今天在給服務器裝IIS,裝完后發現有個進程占用CPU很高。

進程文件: mscorsvw.exe
進程名稱: .NET Runtime Optimization Service

網上搜的資料

NET Runtime Optimization Service使用mscorsvw.exe,mscorsvw.exe是在后台預編譯.net的assemblies(集合)。一旦它執行完畢,就停止。一般來說,當你安裝了.NET的分發程序,它就會先用5到10分鍾預編譯那些高優先級的assemblies,然后等到你的電腦空閑的時候再去處理那些低優先級的assemblies 。一旦它全部處理完畢,它將會終止,你將不會再看到mscorsvw.exe。
ngen.exe executequeueditems 這就可以讓其后所有排隊等候的進程開始工作。
mscorsvw.exe占用CPU很高的原因
  當你看到mscorsvw.exe進程占用CPU高達100%時,這就是發生在它處於一個低優先級的進程之中,所以它盡可能地不讓其他你正運行的進程搶占CPU。一旦所有的assemblies都被編譯完畢,assemblies將能跨進程地分享內存頁。一般來說,這時的熱啟動將會快得多,所以我們不再丟棄你的其他進程。

 

解決辦法:

cmd命令:

① cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

② ngen.exe executequeueditems

③ 執行完后重啟電腦

當完成並重新啟動計算機/服務器時,您的CPU負載應該會感覺更好。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM