刚买的游戏终于下好了,结果steam下载跑到一半自己停了,点继续跑几兆又停,跟故意折磨人一样。我那天晚上本来心情不错,结果被这个破问题搞得火大——进度条像乌龟一样爬两下就彻底睡着,等十分钟看它又停了,实在忍不了。
第一次怀疑是硬盘的锅
我第一反应是硬盘写入速度跟不上,毕竟我那块机械硬盘用了好几年。但仔细一想,之前下载别的游戏从来没这么频繁中断。我打开资源监视器,发现磁盘占用率确实偶尔飙到100%,但对应的steam进程写入量很低,不像是磁盘本身太忙。我试着把下载位置换到固态硬盘上,刚开始好了一小会儿,过十分钟又停了——看来问题不在硬盘身上。
电源管理让我白忙了一下午
后来我回忆起来,以前遇到过USB设备掉线的问题,也是因为Windows默认的电源计划会让硬盘和USB接口在空闲后自动关闭。我跑去控制面板里的电源选项,把“关闭硬盘时间”设成从不,同样把PCI Express的电源管理也禁用了。以为万事大吉,结果steam照停不误。当时真的很沮丧,感觉所有努力都白费了。
网络适配器的节能选项坑死人
我继续翻设置,在设备管理器里找到网卡(无线网卡和有线网卡都检查了),属性里有个“电源管理”选项卡,默认勾选了“允许计算机关闭此设备以节约电源”。我果断取消勾选。另外我还把“最大性能”之类的选项调成关闭节能模式。改完之后steam倒是能多撑一会儿,但二十分钟后还是停了——问题没彻底解决。
steam客户端限速和缓存设置
我开始怀疑是steam自己的下载设置有问题。打开设置-下载,发现“限制带宽”没有勾选,但下面的“下载缓存”我从来没注意过。我试着把缓存大小从默认的2GB改成5GB,还清理了一次下载缓存,重启steam。这次下载一直跑到了45%,但之后又停了,我的耐心也快被磨光了。
DNS和路由器的暗坑
那天晚上我几乎把所有能想到的方法都试了,包括更换公共DNS(谷歌和114),重启路由器,甚至把电脑直连光猫,steam依旧停得随心所欲。后来我注意到每次下载中断时,网络连接并没有断,网页能正常打开,就steam的下载线程像死了一样。我怀疑是某些安全软件或者防火墙在后台作祟,于是暂时关闭了Windows Defender实时保护和第三方杀毒软件,再试居然好了半小时。可惜好景不长,之后又停了。
最终让我崩溃又解决的细节
我打开事件查看器,发现每次中断前后都有关于“IPSEC”或“网络策略”的警告,我立刻想起以前改过组策略里的QoS数据包计划程序。我打开gpedit.msc,在“基于策略的QoS”里,我设置过一个“限制保留带宽”的规则,我把它删除了。同时把“平滑处理UDP数据包”禁用。再次重启steam,下载竟然一口气跑完了,中间没有再停过一次。原来问题是我自己之前手贱,为了给其他应用预留带宽,限了steam的网络优先级,结果steam自己把自己卡死了。
折腾了一整晚,最后发现真相的那一刻,我真是又生气又想笑。从那以后我再也不敢乱碰组策略里的QoS设置了。《黑神话:悟空》下载完的那个凌晨,我一边玩一边骂自己,但也庆幸终于搞定了这个烦人的问题。
