svchost.exe占用CPU 100%,也可能是这样的原因
近来碰到这么个问题,就是电脑在使用一段时间后变得异常迟钝,用任务管理器一看,发现CPU被一个名为svchost.exe的进程占用完了。
一开始的反应是遭遇病毒了,马上到网站上搜索相关的文章,找到资料不少,但都不能解决我的问题,正在动念头重装系统之际,偶然发现只要在服务管理器中停止服务“Windows Firewall/Internet Connection Sharing (ICS)”,该症状便自行消失。这更让我不知所措了。
后来试着用网络监视器捕获本地连接上的数据包,按下捕获按钮后看到监视窗口上每秒帧数的计数器狂跳不已,竟像是被人DDOS攻击的模样,之后果然在捕获列表窗口里看到大小内容相似的无数数据包。
仔细一看,原来他们都是一些请求DNS解析的UDP包……而且两端地址分别对应家中局域网里的两台电脑,于是想到检查两台电脑中的网络设置,终于找到问题根源: 大概因为我的某次疏忽,这两台电脑分别将其本地连接的DNS设置成了对方IP,而两台电脑都启用了共享拨号连接服务,这样当我用其中一台电脑的浏览器打开一个包含无效域名的URL,这台电脑会向另一台请求解析这个域名,而另一台无法解析域名又向当前机器回发一个解析请求,如此陷入往复循环,两台电脑都疲于对发和处理DNS请求了,自然就出现遭遇病毒的假象。
作个总结,原来有时候一个小小的轻视,也可能造成很严重后果。
:P