Win10 大小核 Intel CPU 调度的解决方案

我的 CPU 是 12600KF,之前一直没太在意大小核的事儿。最近重装系统,Win10 和 Win11 之间纠结了好一阵。听说 Win11 在大小核调度上更给力。但由于种种原因,最后我还是装上了 Win10 LTSC。以后可能直接跳过 Win11 直接升级 Win12,毕竟 Win11 差评也不少。

但大小核调度问题确实卡性能,所以还是得找个办法解决。先是试了 Process Lasso,它能指定线程用大核还是小核,但感觉不够完美,毕竟绑定了大核后,线程就只能在大核上跑了,不是真正的调度。

后来找到了「Intel 大小核调度器」,这玩意儿能根据负载实时调整大小核的使用,感觉挺靠谱的。折腾了一番装好后,开始测试,测试内容是用 CapsWriterCli 从一个 8 分钟左右的视频提取文字。

安装调度器之前
大核不工作.webp

可以看到,小核跑满了,大核呆若木鸡。

安装调度器之后
大核工作.jpg

显然,安装这个工具之后,运行 CapsWriterCli,大核工作了,整个转换时间和用纯小核的时候比,有起飞的感觉。

作者展示的功耗,不作操作,只有几w,滚动网页功的时候依然能保持个位数。
但我这里不作操作确实只有几 W,滚动网页时会在 10W ~ 30W 之间。

无操作:
SP_2024-11-07_02-22-53.webp

浏览器滚动网页
SP_2024-11-07_02-23-27.webp

2 个赞

mark,给我的13600kf装上试试。

改一个电源计划设置就行了,把大核的park关掉,这类工具都是自己给自己加戏

你这手 Process Lasso 看了都得说声佩服,这是走极端的节奏

太好了,又多了一个退回Win10的理由 :joy:

实际用下来顺畅性有提升吗?

有兴趣的看我在CHH的回帖:
https://www.chiphell.com/forum.php?mod=redirect&goto=findpost&ptid=2449769&pid=50870146

实质就是改系统设置而已,用其他人写的编译的程序来改还不如自己改,知其然挺好,知其所以然更好

是不是可以这样理解,Park 就像是 CPU 的开关。我装的那个 CPU 调度器,实时根据负载调整这个开关,以控制 CPU 的状态。

你的观点是大核的 Park 可以完全关闭,让大核一直工作就可以了。

「Intel 大小核调度器」的作者则认为可以通过一些程序判断来动态控制 Park,并且付诸实践,写了一些判断规则,并且优化了很多个版本。

如果功耗差不多的话,你说的简单粗暴关掉 Park 是更加简单的方法。你有没有做过功耗对比呢?

「Intel 大小核调度器」的 CPU 占用率也不高,平常不到 1% ,用着其实也没啥负担。

之前即使用小核系统也是也很流畅的,日常使用感觉不到系统卡或者慢,所以这种基础体验没有差别。系统高负载比如用运行本地 AI 的时候,能看到明显的提升。

他这个程序所做的事情无非就是在以下注册表路径里修改键值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00

这样说够明白了吧

不明白

台式机的算法应该尽量用大核。大核用满了,再用小核。小核用满了,再用超线程。

用台式机就不要想着省功耗。电费才几个钱。

简单粗暴。

但按照你的逻辑台式机的 CPU 就没有必要生产大小核的版本:thinking:

还是有必要的。

牙膏厂生产小核是因为它家的 ring 总线上面只能挂 10 个核心,没办法像农企的 if2 总线那样挂 256 个核心。这个地方差太多了。

所以牙膏厂的做法就是做 8 个大核,再拿 2 个大核的位置出来做小核。每个大核的晶体管可以做 4 个小核。用这种方法继续提升计算跑分。

牙膏厂这个想法是对的。还有另外一个原因是,其实现在台式机的 CPU 只是笔记本 CPU 的高功耗版。农企和牙膏厂对台式机 CPU 并不是很重视,出货量太小了。而笔记本是有必要使用小核节能的。主要按笔记本的进行设计,然后便宜丢个台式机的版本出来当打广告了。

以前农企的推土机其实就是全小核架构,但当时晶体管比较少,所以每个模块是两个核心。当年,牙膏厂的全大核还在 i3 双核的时候,农企同价格基本上能给到六核、八核,也是同样的原理。但纯小核性能太烂。而且当时农企的小核还共享浮点运算,又带有超线程那种不能调度到相邻两个核心的问题。现在的 Linux 一般就会把当年农企的 CPU 设置成超线程 CPU,用超线程的方案来调度就是这个意思。

小核还有个大问题,你们平时是看不出来的。就是它的计算速度实在“太快了”,以至于内存带宽跟不上。当年的农企推土机也是这样,直到最后一代的挖掘机才使用 DDR4 解决了问题。牙膏厂的小核也是同样问题。内存带宽变得非常紧张。顺便说一下,我现在手头就有一块 athlon x4 970 的 CPU,居然还挺好用的。

台式机,在我看来,大小核根本没必要。如果需要性能,直接上 16 核的 CPU 不香么。干嘛要花差不多价格去买那个 8+8 核 24 线程的破烂货。既不需要省电,也不怎么省钱。操作系统调度实在麻烦。甚至我 ryzen 买回来先把超线程给关了。现在某些操作系统调度超线程还是经常出问题优先调到超线程上去。

这么看来,由于 Intel 的 Ring 总线限制,大核心最多只能到 10 个。用大核心换一些小核心,这样能增加核心总数,可以更好地处理多线程任务,对提升性能是有帮助的。

这个调度一直在更新,最新的3.21版我用了,12代提升相当大