CoreDirector 是一款免费的 Windows 工具,可以限制系统把线程分配给 E 核(efficient core,能效核,小核),一直使用 P 核(performance core,性能核,大核)。
Intel 从第十二代 CPU 起,启用了大小核异构,但是有的时候,比如使用虚拟机的时候,想把大核分配给虚拟机,这时候 CoreDirector 就派上用场了。
CoreDirector:https://bitsum.com/apps/coredirector/
CoreDirector 有三种选项,分别是 Efficiency Mode OFF、CPU Affinities 和 CPU Sets。
Efficiency Mode OFF:这个模式下,会禁止系统自动把线程分配给 E 核,如果进程特别指定了要使用 E 核,也允许使用 E 核。
This method will prevent threads from being put into Efficiency Mode. This serves to prevent them from being automatically scheduled to the E-cores. However, a process can still use the E-cores if its thread count warrants such, or if it specifically chooses to.
CPU Affinities:这个模式下,会强制线程使用 P 核,如果进程有意要使用 E 核,允许使用 E 核。
This method will restrict all threads to the P-cores. The only exception is a process that is intentionally scheduling onto the E-cores.
CPU Sets:这个模式介于 Efficiency Mode OFF 和 CPU Affinities 之间,由系统自由调配。
This method is somewhere in between the other two and leaves a lot of the decision to the OS.
虽然 CoreDirector 可以尽量限制 E 核的使用,但是三种模式都无法强制一直使用 P 核,他们还有一款收费软件 Process Lasso,可以强制使用 P 核。
我经过测试,用通配符“*”选中了所有的线程,发现 E 核的使用率还是明显高于 P 核,是哪里设置不对?