我的应用程序因为内存不足而崩溃,所以我开始寻找原因,结果发现这是由“交付优化”服务引起的。它占用了所有可用内存。
我的局域网上没有计算机可以使用这项服务。我还检查了 Windows 设置中的“交付优化活动监视器”,它显示,自上个月以来,它只从 Microsoft 下载。没有其他下载/上传。
手动停止服务后(从“services.msc”菜单),内存从 16GB/16GB 变为 ~6GB/16GB。
我关闭了 Windows 菜单中的“允许从其他 PC 下载”,但无济于事。我还尝试禁用该服务,但访问被拒绝。因此,进程 (svchost.exe) 最终会再次启动。该进程正在使用网络(以 3Mbps 的速度下载某些内容),并慢慢开始再次填满 RAM,直到崩溃。在任务管理器中,我甚至看不到该进程的“命令行” - 它是空的 - 我只能看到“svchost.exe”,它是 Delivery Optimization 服务的一部分。
通过运行“netstat”命令,我可以看到进程有~100个连接二端口 80 上的互联网 IP
知道可能会发生什么吗?
更新
根据 Fiddler 的说法,该服务正在尝试从 xboxlive.com 下载一些内容。但是它一遍又一遍地发送相同的请求:
答案1
我不确定这个问题的根本原因是什么,但我已经找到了解决方案。
在
C:\Windows\System32\config\systemprofile\AppData\Local\Packages\Microsoft.GamingServices_8wekyb3d8bbwe\LocalState\UserDataCache\
文件夹中的文件appmanifest.xml
包含有关交付优化服务尝试下载的包的信息。
F6E35395-C5D3-4598-9763-30658558E6B4
我在注册表中搜索了文件夹的名称,并从中找到并删除了引用该字符串的条目Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\GamingServices
,然后删除了缓存文件夹本身,终止了“游戏服务”服务并重新启动。此后,问题不再发生。