别“捣乱” 管好Windows 10中神秘的“个人服务”
2021-11-11闽人
闽人
笔者近日在使用Photoshop、AutoCAD等软件处理图片时电脑非常卡顿,通过任务管理器排查发现在后台有一个名为“Svchost.exe”的进程占用了大量的CPU和内存资源(图1)。那“Svchost.exe”是干什么用的?它为何会占用大量的资源,我们又该如何解决这个问题呢?下面笔者就分享一下解决该问题的过程,供大家参考。
认识“Svchost.exe”进程
根据微软官方技术文档的解释,“Svchost.exe”是一类通用的进程名称,与运行动态链接库的Windows系统服务相关。在Windows 10中很多服务都是通过该进程进行加载的,所以当我们打开任务管理器后会在后台发现多个“Svchost.exe”进程。如果要查看某个“Svchost.exe”进程加载的是哪个系统服务,只要在图1所示的窗口中右击该进程并选择“转到服务”,在打开的窗口中会自动定位到其所加载的服务。右击该服务的名称并选择“打开服务”(图2),即可转到服务管理窗口,我们可以在该窗口中根据服务名称来查看“Svchost.exe”进程的实际运行路径。比如在图2所示的窗口中双击WlanSvc服务,在打开的“属性”窗口中可以看到其可执行文件的路径是“C:\WINDOWS\ system32\svchost.exe -kLocalSystemNetworkRestricted -p”(图3)。
针对这种明确的服务描述和文件,我们可以直接判断或搜索问题之所在。比如有些电脑升级到Windows 10后由于声卡的兼容性问题,会导致“Svchost.exe”所加载的Audiosrv服务(音频服务)出现异常,解决的方法是升级声卡驱动。
奇奇怪怪的服务
如上所述,“Svchost. exe”是通用的进程名称,因此当我们在任务管理器中发现某个“Svchost.exe”进程占用系统资源过高时就需要找到其对应的服务。比如在图1所示的界面中右击某个CPU资源占用过高的“Svchost.exe”进程并选择“转到服务”,可以看到它所对应的服务是“cbdhsvc_47b23”,服务描述为“ 剪贴板用户服务_47b23”(图4)。
那么它是一个什么服务呢?笔者通过微软官网查询后知道,类似“服务名称_随机数字”这样的服务,是在用户登录系统后随机创建的,并且每次关机后自动清除(为便于描述,文中将这类服务称之为“个人服务”)。根据图4所示的服务描述,再结合遇到问题时的使用环境(多是在使用Photoshop、AutoCAD复制大型图片时发生),笔者判断可能是剪贴板中的文件容量过大,导致该服务未产生响应,由于它只是為剪贴板提供服务,这里可以先尝试将其停止或禁用看能否解决问题。
返回图4 所示的窗口,选中“cbdhsvc _ 47b23”后点击下面的“打开服务”按钮,但在服务管理窗口中却没有找到该服务。不过我们知道,系统中的所有服务都是通过注册表加载的,因此还可以借助注册表编辑器对它们进行设置。启动注册表编辑器后,依次展开到[HKEY_ LOCAL _MACHINE\SYSTEM\Cur rentControlSet \Ser vices],找到“cbdhsvc_47b23”服务所对应的键值,在右侧的窗格中将“Start”项的“数值数据”设置为“4”(即禁用)(图5)。接着在空白处右击并依次选择“新建→DWORD(32位)值”,将“数值名称”设置为“UserServiceFlags”、“数值数据”设置为“0”(图6)。
完成所有的设置后重启电脑,发现使用Photoshop、AutoCAD复制大型图片时未出现“Svchost.exe”进程占用CPU资源过高的问题,至此,顺利地解决了该问题。
在Windows 10中类似的描述不太明确的“个人服务”还有很多,大家可以参照下图的说明自行进行设置(图7)。