切换到宽版
  • 27阅读
  • 2回复

[数码讨论]又见Windows内存刺客!Win11关键功能悄悄占用大量内存 [复制链接]

上一主题 下一主题
在线jjybzxw

UID: 551814

 

发帖
212390
金币
614059
道行
2006
原创
2441
奖券
3260
斑龄
41
道券
1197
获奖
0
座驾
设备
摄影级
在线时间: 46457(小时)
注册时间: 2008-10-01
最后登录: 2025-12-20
只看楼主 倒序阅读 使用道具 楼主  发表于: 昨天 11:20

快科技12月18日消息,日前微软确认将Appxsvc这一会占用用户系统资源的服务,启动类型从“手动”改为了“自动”。

如今另一个潜伏已久的“内存刺客”也被用户发现了,多位用户反馈,Windows核心更新组件传递优化(Delivery Optimization,DoSvc)存在严重的资源占用问题。

在Windows 10/11系统中,“传递优化”本质上是一个P2P更新分发客户端,初衷是当设备下载Windows累积更新或商店应用时,它可以从本地网络甚至互联网上的其他PC获取更新碎片,从而减轻微软服务器的压力并提升下载速度。

不过美好的初衷在现实中却成了性能负担,Niff_Naff通过追踪进程ID并绘制内存使用曲线发现,DoSvc服务在运行过程中占用的内存会随时间推移而明显增加,这种持续增长且不释放的现象指向了一个令人头疼的问题——内存泄漏。

还有用户直言:“它有时会吃掉你所有的内存,然后就坐在那儿‘看戏’,简直是网络和内存的双重收割机。”

不过好在这一功能可以手动关闭,操作步骤如下:

1、打开设置-> Windows更新

2、进入高级选项->传递优化

3、关闭“允许从其他设备下载”开关,或者将其限制为“我本地网络上的设备”。


山庄提示: 道行不够,道券不够?---☆点此充值☆
 
在线jjybzxw

UID: 551814


发帖
212390
金币
614059
道行
2006
原创
2441
奖券
3260
斑龄
41
道券
1197
获奖
0
座驾
设备
摄影级
在线时间: 46457(小时)
注册时间: 2008-10-01
最后登录: 2025-12-20
只看该作者 沙发  发表于: 昨天 11:21
Windows“传递优化”服务被曝严重内存泄漏:初衷美好,现实却成“性能刺客”

近日,继微软将 Appxsvc 服务默认设为自动启动引发争议后,又一长期潜伏于Windows系统中的“资源吞噬者”浮出水面——传递优化服务(Delivery Optimization, DoSvc) 被多位用户和系统观察者指出存在严重的内存泄漏问题,导致系统运行迟缓、内存耗尽,甚至影响日常使用体验。这一本意为提升更新效率的功能,在实际应用中反而成为拖累系统性能的“双刃剑”。
一、什么是“传递优化”?它的设计初衷与技术原理

传递优化(Delivery Optimization, DoSvc) 是自Windows 10起引入的一项后台服务,其核心理念源自P2P(点对点)文件分发机制,类似于BitTorrent的工作方式:
当一台设备下载Windows更新或Microsoft Store应用时,它不仅从微软服务器获取数据;
同时也会从本地网络内其他已下载该更新的设备,甚至互联网上的远程设备中并行下载数据块;
下载完成后,该设备还会在一定时间内充当“种子”,向其他需要更新的设备提供片段。
✅ 设计优势:
| 优点 | 说明 |
|------|------|
| 缓解服务器压力 | 微软无需承担全部带宽成本,尤其在大规模更新推送期间(如月度补丁日)可显著降低中心化负载。 |
| 提升下载速度 | 在局域网内,若多台设备需相同更新,可通过高速内网共享,远快于重复从外网下载。 |
| 节省用户带宽费用 | 对于有限流量套餐用户,若能优先从本地获取,则减少公网流量消耗。 |

然而,理想很丰满,现实却因实现缺陷而大打折扣。
二、问题曝光:DoSvc 成为“内存刺客”,长时间运行后系统卡顿

多名高级用户和技术爱好者通过任务管理器、Process Explorer 和性能监控工具追踪发现,DoSvc服务在持续运行过程中表现出典型的内存泄漏特征:
🔍 具体表现包括:
内存占用随时间线性增长  
   Niff_Naff 等用户绘制了DoSvc进程的内存使用曲线,结果显示:在数小时至数天的周期内,其私有工作集内存(Private Working Set)不断上升,从未出现明显释放,即便更新已完成仍保持高位。
极端情况下占据数GB内存  
   有报告称,在未重启系统的老旧设备上,DoSvc 占用内存高达 4~6GB,直接挤占浏览器、办公软件等关键应用资源。
伴随高IO与网络活动  
   除内存外,该服务还频繁读写磁盘缓存目录(C:\Windows\SoftwareDistribution\DeliveryOptimization),并在后台维持大量TCP连接,造成网络拥堵。

⚠️ 用户吐槽:“它就像个贪婪的寄生虫,吃完你的内存还不走,坐在那里看着你崩溃。”

这表明:DoSvc 的内存管理机制存在严重缺陷,未能正确释放已分配的缓冲区、缓存对象或网络句柄,极可能是由以下原因造成:
缓存索引结构未及时清理;
异步任务队列堆积导致对象无法被GC回收(若基于.NET组件);
P2P节点状态表持续膨胀且无老化策略。
三、为何此类问题长期未被修复?背后的系统逻辑矛盾

尽管问题已被社区广泛讨论多年,微软至今仍未推出根本性修复方案,背后反映出微软在系统设计理念上的深层权衡:
🔄 1. 商业利益 vs 用户体验的博弈
对微软而言,DoSvc 是一种低成本的大规模分发基础设施,尤其适用于企业批量部署和教育机构更新管理。
若关闭P2P共享功能,所有更新将回归纯客户端-服务器模式,极大增加Azure CDN支出。
因此,微软倾向于保留此功能,并将其“可配置”而非“默认禁用”。
🛠️ 2. 功能耦合度高,难以彻底隔离
DoSvc 不仅服务于Windows Update,还深度集成于:
Microsoft Store 应用分发;
Office 365 更新(通过WSUS或Intune);
部分驱动程序推送;
彻底重构可能影响整个生态系统更新链条。
🧩 3. 缺乏透明监控接口
普通用户无法直观查看“当前有多少数据来自P2P”、“缓存占用了多少空间”;
诊断信息隐藏在事件日志与PowerShell命令中(如 Get-DeliveryOptimizationStatus),门槛过高。
四、如何应对?实用解决方案与优化建议(附操作指南)

虽然尚无官方补丁根治内存泄漏,但用户可通过以下方式有效缓解或规避风险:
✅ 方法一:【推荐】完全关闭跨网络P2P共享
仅允许从本地设备下载,杜绝外部不可控流量

操作路径如下:
打开 设置(Settings)
进入 Windows 更新 → 高级选项
点击 传递优化(Delivery Optimization)
关闭 “允许从其他设备下载”  
   或选择 “仅限我本地网络上的设备”

📌 建议选择后者,既能享受局域网加速,又能避免互联网P2P带来的安全与资源隐患。
✅ 方法二:彻底禁用DoSvc服务(适用于高级用户)
若你使用第三方工具管理更新,或处于严格内网环境,可考虑关闭服务

powershell
以管理员身份运行 PowerShell
Stop-Service DoSvc
Set-Service DoSvc -StartupType Disabled


⚠️ 注意:
禁用后可能导致Windows Update变慢,尤其在首次下载大版本更新时;
某些企业策略可能会自动重新启用该服务。
✅ 方法三:定期清理缓存 + 监控异常
手动清除累积的缓存文件,减轻磁盘与内存压力:

cmd
net stop dosvc
rd /s /q C:\Windows\SoftwareDistribution\DeliveryOptimization
net start dosvc


也可借助脚本定时执行(如每周一次),防止缓存无限扩张。
✅ 方法四:组策略/注册表精细控制(企业适用)
对企业IT管理员,可通过组策略精确配置行为:
最大上传带宽限制;
允许参与P2P的设备范围;
缓存大小上限(默认可达硬盘的10%);
是否允许作为“互联网种子”。

路径示例:  
计算机配置 → 管理模板 → Windows组件 → 传递优化
五、未来展望:DoSvc 是否应当被淘汰?抑或迎来重生?

面对日益增长的用户不满,我们有必要重新审视这项已有近十年历史的技术是否仍适应当今环境:

| 维度 | 分析 |
|------|------|
| 📈 现代网络环境变化 | 家庭宽带普遍提速,5G/Wi-Fi 6普及,单一来源下载速度已大幅提升,P2P增益边际递减。 |
| 💾 固态硬盘寿命担忧 | DoSvc 频繁读写缓存目录,对低容量SSD设备(尤其是轻薄本)造成额外磨损。 |
| 🔐 隐私与安全争议 | 开启互联网P2P意味着你的IP地址可能被其他随机设备连接,存在潜在暴露风险。 |
| 🌐 云原生趋势冲击 | 更多企业转向Intune、Autopilot等云端管理方案,本地更新分发需求下降。 |
可能的演进方向:
转型为局域网专用工具  
   完全关闭互联网P2P,仅保留LAN内共享,回归“智能局域网分发”定位。
引入智能节流与自动降级机制  
   当检测到内存紧张或电池供电时,主动暂停P2P上传、释放缓存。
可视化与用户知情权增强  
   在任务栏或设置中加入实时仪表盘:“本次更新XX%来自邻居设备”,让用户真正掌控。
逐步被CDN+边缘计算替代  
   利用AI预测更新热点区域,提前预载至边缘节点,比P2P更高效可控。
结语:技术不应以牺牲用户体验为代价

“传递优化”本是一项富有前瞻性的尝试,体现了分布式协作的思想魅力。但在缺乏良好资源管理和用户控制的前提下,任何“智能”功能都可能异化为系统负担。

此次DoSvc内存泄漏事件再次提醒我们:  
操作系统的底层服务必须遵循“最小权限、最小驻留、最小干扰”原则。  
功能再先进,若不能稳定、透明、可控地运行,终将失去用户的信任。

对于普通用户而言,及时关闭不必要的P2P共享选项是当下最有效的自我保护措施;而对于微软来说,是时候正视这些“慢性病”式的服务缺陷,给用户一个真正轻盈、可靠的操作系统体验。
📝 延伸建议:  
如果你经常遇到系统卡顿、内存不足问题,不妨打开任务管理器,排序查看“后台进程”中是否有 Delivery Optimization 或 dosvc.dll 相关条目异常活跃。一次简单的设置调整,或许就能让老电脑重获新生。
如何不发帖就快速得到金币道行
 
在线天人地

UID: 1627269

精华: 2
级别: 上清仙尊

发帖
296995
金币
35327
道行
40006
原创
109
奖券
147
斑龄
0
道券
30
获奖
0
座驾
设备
摄影级
在线时间: 36825(小时)
注册时间: 2012-09-03
最后登录: 2025-12-19
只看该作者 板凳  发表于: 昨天 12:13
多个系统服务被指为“内存刺客”,其中 Delivery Optimization(DoSvc)和 Superfetch(SysMain)是主要元凶,存在内存泄漏或持续高占用问题。

📌 背景
近期,多位用户和科技媒体报告称,Windows 11 中某些本应优化系统体验的功能,反而成为“内存刺客”,在后台悄悄占用大量内存,导致系统卡顿、响应变慢。微软已确认部分问题并推送修复,但仍有服务因设计机制或兼容性问题持续消耗资源。

🔍 主要“内存刺客”服务分析
服务名称 / 进程    功能用途    问题描述    解决方案    来源
Delivery Optimization (DoSvc)    P2P 更新分发,从本地或网络其他设备下载系统/应用更新    存在内存泄漏,内存占用随时间持续增长,不释放    暂时禁用服务或等待微软修复    1
Superfetch / SysMain    预加载常用程序至内存以提升响应速度    在 SSD 电脑上作用有限,反而长期占用数百 MB 甚至 GB 级内存    禁用服务可显著释放内存    246
Windows Defender (MsMpEng.exe)    实时反恶意软件保护    扫描时CPU 和内存占用飙升,导致系统卡顿    可通过组策略或注册表关闭实时防护(需装第三方杀软)    1014
任务管理器 (taskmgr.exe)    系统监控工具    存在“幽灵进程”BUG,频繁使用后残留多个实例    安装 11 月累积更新 KB5068861 后已修复    5
桌面窗口管理器 (dwm.exe)    负责图形界面渲染(如透明、动画)    可能因显卡驱动问题导致内存泄露    更新或回退显卡驱动    38
(补充说明)svchost.exe 是一个宿主进程,多个系统服务运行于其下,因此当它占用高内存时,需进一步排查具体是哪个服务导致,如 Superfetch、Windows Update、Windows Defender 等 2。

🛠️ 实用解决建议
优先禁用高风险服务:
SysMain (Superfetch):通过 services.msc 将其启动类型设为“禁用”并停止服务 6。
Delivery Optimization:在服务中找到“传递优化”,设置为“禁用”以防止内存泄漏

关闭快速启动:该功能可能导致内存状态残留,关闭后可减少异常占用 624。
更新系统与驱动:
安装最新累积更新(如 KB5068861)以修复任务管理器幽灵进程问题 5。
更新显卡驱动,或在内存泄露时尝试回退版本 3。
使用专业工具清理:
使用 RAMMap 清理 Mapped Files 缓存,可释放大量“已提交”内存 7。
使用 MemoryCleaner 等工具自动定期清理内存 6。
✅ 建议
如果你的 Win11 系统在未运行大型程序时内存占用仍居高不下,建议优先检查并禁用 SysMain 和 Delivery Optimization 服务。同时,确保系统已更新至最新版本,以避免已知 BUG 的影响。若问题依旧,可使用 RAMMap 分析内存构成,精准定位泄露源头。
如何不发帖就快速得到金币道行
 
天人地
快速回复
限120 字节
认真回复加分,灌水扣分~
 
上一个 下一个