Windows Server 2008 R2 或 Windows 7/8 出現svchost.exe 記憶體使用量異常大的情況

Windows Server 2008 R2 或 Windows 7/8 出現svchost.exe 記憶體使用量異常大的情況

今天檢查一台Azure Windows Server 2008 R2 SP1投產機器出現服務異常的案件,

問題發生時主機不能再啟動任何軟體, 而且出現旱見的Out-Of-Memory錯誤

只能以重新啟動一途來先解決問題, 幾天之下監察主機的狀況

此台為PHP, IIS, MySQL服務器, 而且安裝有IE11來運行一些排程工作

發現svchost.exe的記憶體在機器啟動後慢慢增大到了不可思議的地步

image

 

以tasklist /svc 檢查scvhost.exe的process PID , 會發現出現問題的PID 擁有以下服務

EventSystem, FontCache, netprofm, nsi, W32Time

image

以Porcess Monitor追查下去, 發現出問題的是Network Store Interface Service (nsi),

但由於這是重要的系統服務, Windows不容許重啟這個服務, 究竟這個服務為什麼出現問題呢?

image

 

在網絡上再三考證, 幾乎肯定這是Internet Explorer 10/11某些版本的記憶體洩漏臭蟲, 而且被很多使用者罵了很久.

例如這個歷時很久的討論串

在幾年的研究下, 微軟終於在2014年5月14日釋出補丁, KB2950358, 更新後IE就不會再導致nsi出現異常了.

http://support.microsoft.com/kb/2950358/en-us

而在今天, IE11也有綑綁式的更新包, 分別是KB2929437和 KB2962872

image