Windows10 explorer资源管理器长时间CPU占用过高问题的调试解决过程————从懵到懂

1.系统基本信息

版本:windows10专业版
版本号:21H2
操作系统内部版本:19044.1586

2.explorer高占有率现象分析

使用微软提供的工具:ProcessExplorer 查看explorer进程的栈、使用率信息(使用方法请自行百度)。
问题测试方法:
1).为了便于观察,使用快捷键windows + E 快速 打开10个资源管理器。
2).打开ProcessExplorer 查看explorer进程的栈、使用率信息。结果有如下特征:
explorer栈信息:高占有率会集中在TpReleasCleanupGroupMenber+0x450上面,而且还是周期性出现。explorer栈信息
使用率信息:断开网络,explorer表现正常,连接网络则CPU和IO使用率非常高。
在这里插入图片描述
通过以上方法观察到explorer的高占有率似乎和网络有关系,但本人尝试了关闭OneDriver,windows自动更新的P2P分享设置,禁用cotana,等等网上说的一系列方法,都无法解决。

3.解决方法 ?

还是windows search的问题。但根据其他人的说法,注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search中的SetupCompletedSuccessfully要改为1即可解决问题,但本人情况下,此项值一直为1,后尝试将值修改为0后,重启explorer。很出乎意料的,问题得到了解决。(太恶心了)
电脑重启后SetupCompletedSuccessfully又会重新被自动置1,但此时explorer已经工作正常了。

!!!经过时间证明,这只是偶然,注册表修改无效。


4. 附加:CPU状态

1). 高占有率下,10个explorer的CPU表现情况:
在这里插入图片描述
2). 问题解决后正常的,10个explorer的CPU表现情况:
在这里插入图片描述


5.第一次复发

正常运行第三天后,手贱又开了几个服务,导致explorer cpu高占用问题复发。此时修改SetupCompletedSuccessfully=0并无卵用。但同时修改了:

SystemIndexNormalization = 0
UseLowPriorityConfiguration = 0


后,问题又神奇般的得到了解决。没卵用哈。

以下内容新建一个文本文件,复制即可,然后重命名为XXX.reg执行即可快速修改注册表。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TimeBrokerSvc]
"start"=dword:00000003

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\OneDrive]
"DisableFileSyncNGSC"=dword:00000001


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search]
"SetupCompletedSuccessfully"=dword:00000000
"SystemIndexNormalization"=dword:00000000
"UseLowPriorityConfiguration"=dword:00000000

前置设置如下(尝试了很多方法后的状态,不一定需要完全一致,完全一致也不一定能解决问题,参考即可。奇葩的win10BUG,讨厌死了!):

1).windows search服务是禁用状态。

2).Problem Reports Control Panel Support服务 是开启状态,其实应该影响不大,必要时可以关掉。

3).Diagnostic Policy Service、Diagnostic Service Host、Diagnostic System Host服务为禁用状态。

4).Time Broker服务为开启状态,这个关掉会导致Task Scheduler服务无法开启,影响一些软件使用。

5).组策略内关闭cortana,【允许使用cortana】【允许在锁屏界面上方使用cortana】【允许搜索和cortana使用位置】三个选项禁用即可。

6).组策略中也禁用了OneDrive的一些选项。


6.第二次复发

本人因为无意中使用了explorer的搜索功能,如下图:
在这里插入图片描述
然后直接触发了explorer高占用的bug。
通过观察磁盘的读写情况,只有读,而且每次只读几百字节,没有写入,这有点像是在全盘搜索遍历文件名的过程。
问题复发后,各种修改注册表,禁用服务都无效。有效的只有断网和ProcessExplorer中,suspend一个叫【shcore.dll!Ordinal】的线程(有很多,但只有一个会影响到cpu占用,某些挂起后可能会导致桌面异常,无法刷新、桌面图标无响应等等):
在这里插入图片描述

最后【CPU高占用问题】还是在系统运行了1个多小时后,莫名其妙的自行消失了(估计是遍历整个盘完了)。


所以windows search能不用就不用。开始菜单的搜索不会导致高占用。

!!!时间证明,这也不是问题的根本原因。



7.真·解决办法

经过时间验证,以上方法并不能彻底解决CPU高占用问题,一般重启explorer还是会复发。
某天,偶然间发现我的设备管理器页面在疯狂的自动刷新(间隔2-3s),断网后停止刷新,接通网络继续刷新,我就纳闷了这什么鬼!拔掉所有外设依旧在自动刷新。
在这里插入图片描述
后来,在某管上(Device Manager Keeps Refreshing Problem | Windows 10 Fix)得到启发.
首先禁用Problem Reports Control Panel Support服务。

一些可以先执行的选项:

#管理员模式打开CMD输入
sfc /scannow
DISM /Online /Cleanup-Image /CheckHealth   #有问题则/CheckHealth 变 /RestoreHealth 修复。
#以上有问题先修问题

然后(用微软官方最喜欢的回应方式调试 ----->干净启动):

1).CMD控制台输入msconfig,打开系统配置,点击服务,然后选择全部禁用(注意PIN码也会失效,请确认设置了密码或者其他登陆方式,或者找到PIN码的服务不禁用)。电脑重启。看资源管理器CPU高占用现象和设备管理器的疯狂刷新有没有继续存在。如果没有,那说明肯定有1个或者多个服务导致了CPU高占用的问题。如果有,哦豁,那完蛋。
2).再次打开CMD输入msconfig,打开系统配置,点击服务,然后点击制造商,按照制造商排序。然后批量启用Microsoft Corporation的服务,然后重启,直至CPU高占用问题出现。这时我的设备管理器界面也是在疯狂刷新。
在这里插入图片描述
3).继续打开CMD输入msconfig,打开系统配置,点击服务,然后点击制造商,按照制造商排序。然后选择性关闭Microsoft Corporation的服务,然后重启,直至CPU高占用问题消失。这时基本上可以定位到问题服务的范围。
4).将问题服务禁用,然后启用其他所有服务,重启,若CPU高占用问题没有出现则问题基本解决。若出现,则重复以上步骤继续寻找问题服务。

最终会找到1个或者多个有影响的服务。本人经过调试找到了以下3个服务,关闭后CPU高占用问题彻底消失了,目前已经平稳运行了4天了

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
至此,本人电脑的资源管理器cpu高占用问题似乎得到了解决,同时,常用的系统功能也没有太大影响。

附上前置设置:
1).windows search服务是开启状态。可以正常搜索,不会触发资源管理器高占用。调试时可以先禁用。

2).Problem Reports Control Panel Support 服务是关闭状态。

3).Diagnostic Policy Service、Diagnostic Service Host、Diagnostic System Host服务为禁用状态。

4).Time Broker服务为开启状态,这个关掉会导致Task Scheduler服务无法开启,影响一些软件使用。

5).组策略内关闭cortana,【允许使用cortana】【允许在锁屏界面上方使用cortana】【允许搜索和cortana使用位置】三个选项禁用即可。

6).组策略中也禁用了OneDrive的一些选项。

用了1个多月,并没有复发,问题服务定位到了Network List Service。写个cmd脚本手动运行开启关闭服务即可(即需要设置网络的时候打开,不需要设置网络的时候关闭)。

  • 34
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 28
    评论
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值