GPU频率更高,窗口失焦时本地AI推理反而掉到三分之一
一位Reddit用户贴出排查记录。在Windows上跑本地AI模型,窗口一旦失焦,推理速度就慢两到三倍。他用RTX 5090,跑约27B NVFP4精度的模型,推理引擎是ninfer。终端聚焦时,速度在每秒130-200个token;窗口失焦后掉到50-60;点回终端,立刻回到130以上。
慢速运行时有个反差:显卡核心频率反而更高。跑到2550-2600 MHz,聚焦时只有2100-2200 MHz。功耗上限同为400瓦,PCIe电源状态没有降档。GPU端处理耗时稳定在390-494微秒。GPU没变慢,变慢的是CPU侧的服务循环。最明显的差异是wait时间:未聚焦时38-41毫秒,聚焦时只有16-17毫秒。发帖者推测是Windows的前台/后台CPU调度行为在起作用,具体机制还没定论。
解决办法是让服务器以无头模式运行,进程不挂在终端窗口上。docker run -d就能做到,直接放后台。改完wait稳定在约17毫秒,吞吐量回到每秒130-200个token。哪个窗口在前台都不再影响。
同样的问题在原生Windows构建上也能复现,不是WSL2特有的毛病。但如果因此说所有Windows机器都这样,证据不够。有Windows用户用llama.cpp复现不出来。窗口聚焦、最小化都不影响速度,他怀疑跟具体推理引擎有关。评论区还有人问两个问题。Intel E-core是不是元凶,docker为什么不用原生Windows端口。哪些Windows版本受影响、触发条件是什么,目前没有答案。
另一类评论给出的是llama.cpp在Windows上的提速设置。Intel CPU禁用超线程,线程数限制为物理P核数量。llama-server进程优先级设为高,CPU亲和性只保留P核。这些调整能让MoE模型解码速度快约10%。
评论区还有两个更省事的答案。一个是装Linux,别跟Windows对着干;另一个是直接卸载Windows。