Windows Server 2008 R2 或 Windows 7/8 出現svchost.exe 記憶體使用量異常大的情況
今天檢查一台Azure Windows Server 2008 R2 SP1投產機器出現服務異常的案件,
問題發生時主機不能再啟動任何軟體, 而且出現旱見的Out-Of-Memory錯誤
只能以重新啟動一途來先解決問題, 幾天之下監察主機的狀況
此台為PHP, IIS, MySQL服務器, 而且安裝有IE11來運行一些排程工作
發現svchost.exe的記憶體在機器啟動後慢慢增大到了不可思議的地步
以tasklist /svc 檢查scvhost.exe的process PID , 會發現出現問題的PID 擁有以下服務
EventSystem, FontCache, netprofm, nsi, W32Time
以Porcess Monitor追查下去, 發現出問題的是Network Store Interface Service (nsi),
但由於這是重要的系統服務, Windows不容許重啟這個服務, 究竟這個服務為什麼出現問題呢?
在網絡上再三考證, 幾乎肯定這是Internet Explorer 10/11某些版本的記憶體洩漏臭蟲, 而且被很多使用者罵了很久.
在幾年的研究下, 微軟終於在2014年5月14日釋出補丁, KB2950358, 更新後IE就不會再導致nsi出現異常了.
http://support.microsoft.com/kb/2950358/en-us
而在今天, IE11也有綑綁式的更新包, 分別是KB2929437和 KB2962872