IT技术互动交流平台

IOCP大并发svchost.exe(NlaSvc服务)占满CPU问题分析

作者:一人游走  来源:IT165收集  发布日期:2014-07-02 20:06:00
症状:      使用IOCP开发的SSLSpider(SSL证书扫描服务)运行一会后(4000并发),系统的一个svchost.exe一直满一个CPU内核(共4核)。  
分析:      此进程运行了4个服务: 停止WinRM、Dnscache都没用,停止NlaSvc超时了,应该是这货在作怪,Google。。。 真的是它! 「别人遇到的,貌似没找到解决方法 http://www.tomshardware.com/forum/302313-28-usage-minutes-turned-urgent   暂时先停掉这个服务吧(并设置为手动启动),Network List Service 这个依赖它的服务也会停掉了。  
2014年7月2日 问题找到了!

是打开过资源监视器,或者类似的工具(Process Explorer), 他们会使用NlaSvc服务(我已经设置为“手动”,但是还被启动了),“禁用”服务后问题不再出现。

此问题还出现在云监控等有大并发场合。具体可以观察CPU使用时间,来发现是否有占用CPU过多的进程。
说明      NlaSvc(Network Location Awareness ):收集和存储网络的配置信息,并在此信息被修改时向程序发出通知。如果停止此服务,则配置信息可能不可用;如果禁用此服务,则显式依赖此服务的所有服务都将无法启动。   依赖它的服务:netprofm(Network List Service) 识别计算机已连接的网络,收集和存储这些网络的属性,并在更改这些属性时通知应用程序。
Tag标签: 问题  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规