处理器相关性掩码的公式(IIS)

我有一个24核心/ 48 GB的RAM服务器上,我想设置处理器亲和力的工作进程,以通过IIS高级设置持续12个核心,是否有任何公式,我不想通过任务pipe理器设置亲和力作为这个池经常回收。

http://www.iis.net/configreference/system.applicationhost/applicationpools/add/cpu

smpProcessorAffinityMask
可选的uint属性。

指定多处理器计算机的hex处理器掩码,它指示应该绑定应用程序池中的工作进程的CPU。 在此属性生效之前,应用程序池的smpAffinitized属性必须设置为true。

注意:在64位计算机上,smpProcessorAffinityMask属性包含处理器掩码的低位DWORD,而smpProcessorAffinityMask2属性包含处理器掩码的高位DWORD。 在32位计算机上,smpProcessorAffinityMask2属性不起作用。

如果将该值设置为1(对应于二进制中的00000000000000001),则应用程序池中的工作进程仅在第一个处理器上运行。 如果将该值设置为2(对应于二进制中的0000000000000010),则工作进程仅在第二个处理器上运行。 如果将值设置为3(对应于二进制0000000000000011),则工作进程将在第一个和第二个处理器上运行。

注意:不要将此属性设置为0.这样做会禁用对称多处理(SMP)关联并创build错误条件。 这意味着在一个CPU上运行的进程在其整个生命周期内不会与该CPU保持关联。

默认值是4294967295。

首先,将smpAffinitized设置为true。

处理器标识从右到左。 从处理器0开始。要设置最后12个处理器的亲和性:

0000 0000 1111 1111 1111 0000 0000 0000 

然后你把它转换成hex:

 0x1FFE000 

我为每个NUMA节点亲和力制作了一个图表。 希望有人可以从中受益。

在这里输入图像说明