实现方法进程与指定cpu绑定
:SetProcessAffinityMask(GetCurrentProcess(),dwMask)
线程与指定cpu绑定:
SetThreadAffinityMask(GetCurrentThread(),dwMask)dwMask为CPU序号的或运算值:1(0001)
代表只运行在CPU1,2(0010)代表只运行在CPU2,3(0011)代表可以运行在CPU1和CPU2
,以此类推。
设置之前最好判断一下系统有几个CPU:
SYSTEM_INFOSystemInfo
GetSystemInfo(&SystemInfo)CPU个数:SystemInfo.dwNumberOfProcessors
当前启用的CPU序号:
SystemInfo.dwActiveProcessorMask
,Mask representing the set of processors configured into the system. Bit 0 is processor 0
bit 31 is processor 31.
CPU亲缘性介绍
按照默认设置,当系统将线程分配给处理器时,Windows使用软亲缘性来进行 *** 作。这意味着如果所有其他因素相同的话,它将设法在它上次运行的那个处理器上运行线程。让线程留在单个处理器上,有助于重复使用仍然在处理器的内存高速缓存中的数据。
有一种新的计算机结构,称为NUMA(非统一内存访问),在该结构中,计算机包含若干块插件板,每个插 件板上有4个CPU和它自己的内存区。
当CPU访问的内存是它自己的插件板上的内存时,NUMA系统运行的性能最好。如果CPU需要访问位于另一个插件板上的内 存时,就会产生巨大的性能降低。在这样的环境中,就需要限制来自一个进程中的线程在共享同一个插件版的CPU上运行。
为了适应这种计算机结构的需要,Windows允许你设置进程和线程的亲缘性。换句话说,你可以控制哪个CPU能够运行某些线程。这称为硬亲缘性。请注意,子进程可以继承进程的亲缘性。
注意:(1)无论计算机中实际拥有多少个CPU,Windows98及以前系统只使用一个CPU,上述API不被支持。
(2)在大多数环境中,改变线程的亲缘性就会影响调度程序有效地在 各个CPU之间移植线程的能力,而这种能力可以最有效地使用CPU时间。
应用场景举例:
将UI线程限制在一个CPU,将其他实时性要求较高的线程限制在另一个CPU。这样,当UI需要占用大量CPU时间时,就不会拖累其他实时性要求较高的线程的执行
。同样可以将UI线程与一些优先级不高但耗时的异步运算线程设置在不同CPU上,避免UI给人卡顿的感觉。
win10系统用户想要通过设置cpu核心数来控制电脑性能,但是却不知道要如何设置cpu核心数..1、在设置之前我们先看一下当前处理器的核心数,在Win10下按下WIN+X组合键,然后点击“设备管理器”;
心数
2、在设备列表中,展开“处理器”选项,我们就可以看到同样名称的一些设备,这些就是CPU了,有几个代表几核心(intel CPU有些代表线程数);
接下来我们设置CPU核心数:
1、按Win+R键,输入msconfig点击确定打开系统配置窗口;
2、点击“引导”选项,选择“高级选项”点击 确定按钮;
3、打开引导高级选项页面,勾选处理器个数,选择需要的个数,点击确定保存,返回上一页面点击应用,再点击确定重启电脑即可生效!
BIOS设置可以分以下步骤。计算机加电后,系统将会开始POST (加电自检)过程。按键 即可进入设定程序。 Standard CMOS Features(标准CMOS特性设定)使用此菜单可对基本的系统配置进行设定。如时间,日期等。Advanced BIOS Features(高级BIOS特性设定)使用此菜单可对Award系统的高级特性进行设定。Advanced Chipset Features(高级芯片组特性设定) 使用此菜单可以修改芯片组寄存器的值,优化系统的性能表现。Integrated Peripherals(整合周边设定)使用此菜单可以对周边设备进行特别的设定。Power Management Setup(电源管理特性设定)使用此菜单可以对系统电源管理进行特别的设定。 PNP/PCI Configurations(PnP/PCI配置)此项仅在您系统支持PnP/PCI 时才有效。 H/W Monitor(硬件监视)此项显示了您PC硬件的当前状态,例如CPU、风扇等。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)