Windows系统Dnscache服务所在进程(svchost)CPU占用率冲高

发布时间:  2016-12-04 浏览次数:  72 下载次数:  0
问题描述
Windows系统在使用过程中,如果用户安装了某些杀毒软件或者广告拦截软件,这些软件会修改系统的hosts文件(C:\windows\system32\drivers\etc\hosts),最终导致hosts文件非常大(大于150KB),有可能会出现Dnscache服务所在进程(svchost)CPU使用率很高(占用率50%左右或者接近100%)的情况。
处理过程

该问题解决办法为减小hosts文件,执行步骤如下:

1. 强制关闭Dnscache任务:按下“Ctrl+Alt+Del”键,启动任务管理器,单击“服务”页签,找到名称为“Dnscache”服务,右击该服务,选择“转到进程”,然后右键选择相应进程,选择“结束进程”。

2. 关闭Dnscache服务:在“开始》运行”中输入“services.msc”,在弹出的“服务”窗口中,找到“DNS Client”服务,右击该服务,选择“停止”。

3. 使用文本编辑工具编辑C:\windows\system32\drivers\etc目录下的hosts文件,删除部分内容。

hosts文件可仅保留localhost行,内容如下:

# Copyright (c) 1993-1999 Microsoft Corp. 

# 

# This is a sample HOSTS file used by Microsoft TCP/IP for Windows. 

# 

# This file contains the mappings of IP addresses to host names. Each 

# entry should be kept on an individual line. The IP address should 

# be placed in the first column followed by the corresponding host name. 

# The IP address and the host name should be separated by at least one 

# space. 

# 

# Additionally, comments (such as these) may be inserted on individual 

# lines or following the machine name denoted by a '#' symbol. 

# 

# For example: 

# 

#      102.54.94.97     rhino.acme.com          # source server 

#       38.25.63.10     x.acme.com              # x client host 

 

127.0.0.1       localhost 

4. 重新开启Dnscache服务:在步骤二的“服务”窗口中,右击"DNS Client",选择“启动”。

5. 重新启动计算机。

根因

Dnscache服务为Windows系统的一个服务,该服务的作用是对DNS结果进行缓存,用户访问网络的时候,如果该域名已经访问过,则可以从DNS缓存里面查到对应IP,系统不用每次都去网络上查询IP,这样可以提高系统访问网络的速度。

某些杀毒软件或者广告拦截软件,会在系统的hosts文件里面写入一些域名,如果写入内容太多,hosts文件太大(超过150KB),就会造成Dnscache服务CPU使用率冲高。

END