症状:
使用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)
识别计算机已连接的网络,收集和存储这些网络的属性,并在更改这些属性时通知应用程序。
IOCP大并发svchost.exe(NlaSvc服务)占满CPU问题分析,布布扣,bubuko.com
时间: 2024-10-24 22:40:08