BranchCache会加剧磁盘占用,需彻底禁用三依赖服务、清除缓存目录并拒绝写入权限,再关闭传递优化的BranchCache调用。

Windows 10系统在启用BranchCache后,会持续监听网络流量、缓存更新包并写入本地磁盘(如C:\Windows\BrachCache目录),即使未部署WSUS或Configuration Manager,其后台服务仍可能触发非必要I/O操作,加剧机械硬盘负载与100%磁盘占用现象。
确认BranchCache当前是否启用
先验证服务真实状态,避免误操作:按 Win + R 输入 services.msc 回车 → 在服务列表中查找 Peer Name Resolution Protocol 和 Peer Networking Grouping → 若任一服务状态为“正在运行”且启动类型非“禁用”,即表示BranchCache底层依赖已激活。
彻底禁用BranchCache服务链
BranchCache不是单一服务,而是由三个强依赖服务协同工作。必须全部停止并禁用,否则残留服务会在重启后自动拉起其他组件:
方法一:服务管理器批量操作
1、以管理员身份运行 services.msc
2、依次找到以下三项并双击打开属性:
• Peer Name Resolution Protocol
• Peer Networking Grouping
• Function Discovery Provider Host
3、对每一项执行:
→ 将“启动类型”设为 禁用
→ 若“服务状态”显示“正在运行”,先点击“停止”按钮
→ 点击“确定”保存
方法二:PowerShell一次性终止并锁定
1、右键开始菜单 → 选择“Windows Terminal(管理员)”
2、逐行执行以下命令(每行回车):
net stop pnrps
net stop p2pimsvc
net stop fdphost
sc config pnrps start= disabled
sc config p2pimsvc start= disabled
sc config fdphost start= disabled
【注意:sc config命令末尾的空格不可省略,否则设置失败】
清除BranchCache残留缓存文件
仅停用服务无法删除已生成的缓存数据,这些文件长期驻留会持续被系统扫描、索引甚至触发后台写入。
第一步:关闭所有相关句柄
1、在管理员终端中执行:
net stop pnrps && net stop p2pimsvc && net stop fdphost
第二步:定位并强制删除缓存目录
1、打开文件资源管理器,地址栏粘贴:
%SystemRoot%\BrachCache
2、若该路径存在,全选内容 → 按 Shift + Delete 永久删除
3、再粘贴进入:
%SystemRoot%\ServiceProfiles\LocalService\AppData\Local\PeerDistPub
4、同样全选 → Shift + Delete 清空
第三步:阻止系统重建缓存目录
1、在管理员终端中执行:
icacls "%SystemRoot%\BrachCache" /deny "Everyone:(F)" 2>nul
icacls "%SystemRoot%\ServiceProfiles\LocalService\AppData\Local\PeerDistPub" /deny "Everyone:(F)" 2>nul
【此操作将拒绝所有用户对该路径的写入权限,防止下次开机时自动重建】
关闭传递优化对BranchCache的隐式调用
Windows 10 1607+版本中,Windows Update代理默认通过传递优化(Delivery Optimization)尝试启用BranchCache逻辑。即使你没配WSUS,它仍会读取组策略或注册表开关并尝试加载P2P模块。
① 打开组策略编辑器(仅限专业版/企业版):
Win + R → 输入 gpedit.msc → 回车
② 导航至:
计算机配置 → 管理模板 → Windows组件 → 传递优化
③ 双击“允许使用BranchCache” → 设为 已禁用
④ 双击“下载模式” → 设为 已启用 → 下拉选项选“HTTP only(不使用BranchCache)”
⑤ 点击“确定”保存
⑥ 若为家庭版,跳过组策略,直接修改注册表:
Win + R → 输入 regedit → 定位到:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization
新建 DWORD (32位) 值,命名为 DODownloadMode,数值数据填 1
再新建 DWORD,命名为 EnableBranchCache,数值数据填 0

















