Windows-Server-2008-R2

mscorsvw.exe(.NET 執行時優化服務)的 CPU 使用率不穩定

  • June 17, 2011

我有一個 Server 2008 R2 終端伺服器,它在過去三個月裡一直處於閒置狀態,使用率非常非常低(可能 1 個使用者一個小時,每天一次)。

突然之間,我無法理解,mscorsvw.exe (.NET Runtime Optimisation Service)已經開始消耗 100% 的處理器,導致各種警報和触發器消失。這是一個重複的模式,所以很容易預測接下來什麼時候會發生:

.net 優化器導致的處理器峰值

有誰知道這可能是什麼原因?我已經完成了明顯的(重新啟動伺服器),但除此之外我是 SOL。

我能想到的唯一可能相關的是我今天早上通過 WSUS 批准了六個 Windows 更新,但它們要到明天凌晨 2 點才能安裝(其中一些與 .NET 4 安全性有關)。

沒有人登錄到伺服器(除了我),即使他們登錄了,我們也沒有任何可用的 .NET 應用程序。

mscorsvw 是一個預編譯 .NET 二進製文件的程序。您的更新可能觸發了此活動。至少,這就是http://blogs.msdn.com/b/davidnotario/archive/2005/04/27/412838.aspx所說的正在發生的事情。

如果您可以執行 sysinternals procmon 實用程序,您可能會獲得更多線索。這將告訴您 mscorsvw 正在點擊或關注哪些文件,並幫助確定它是否真的關注潛在的 .NET 文件。

從那個網站,如果這是正在發生的事情,執行

ngen.exe 執行queueditems

應該通過讓它一次執行所有內容而不是等待 CPU 空閒來“清除隊列”,因為它似乎是在您的伺服器上發生這種情況時。完成預編譯後,它應該停止發生。

引用自:https://serverfault.com/questions/281329