3 votes

Formule pour le masque d'affinité des processeurs (IIS)

J'ai une machine serveur de 24 cœurs/ 48 Go de RAM sur laquelle je veux définir l'affinité du processeur pour le processus de travail à 12 derniers cœurs par le biais des paramètres IIS Advance, existe-t-il une formule, je ne veux pas définir l'affinité par le biais du gestionnaire de tâches car ce pool est recyclé assez souvent.

5voto

Ryan Ries Points 54671

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

smpProcessorAffinityMask
Attribut uint facultatif.

Spécifie le masque hexadécimal du processeur pour les processeurs multiples. multiprocesseurs, qui indique à quel processeur les processus travailleurs d'un pool d'applications doivent être liés. Avant que cette propriété ne prenne effet, l'attribut smpAffinitized doit être défini sur true pour le pool d'applications. pool d'applications.

Remarque : Sur les ordinateurs 64 bits, l'attribut smpProcessorAffinityMask contient le DWORD d'ordre inférieur du masque du processeur, et l'attribut smpProcessorAffinityMask2 contient le DWORD d'ordre supérieur du masque de le masque du processeur. Sur les ordinateurs 32 bits, l'attribut smpProcessorAffinityMask2 n'a aucun effet.

Si vous fixez la valeur à 1 (ce qui correspond à 00000000000000001 en binaire), les processus de travail d'un pool d'applications s'exécutent uniquement sur le premier processeur. Si vous donnez à cette valeur la valeur 2 (qui correspond à 0000000000000010 en binaire), les processus travailleurs s'exécutent uniquement sur le deuxième processeur. Si vous définissez la valeur 3 (qui correspond à 0000000000000011 en binaire), les processus de travail s'exécutent à la fois sur le premier et le second processeur. et le second processeur.

Remarque : ne définissez pas cette propriété sur 0, car cela désactive le multitraitement symétrique (SM). multiprocesseur symétrique (SMP) et crée une condition d'erreur. Ce Cela signifie que les processus s'exécutant sur une unité centrale ne resteront pas avec cette unité centrale tout au long de leur vie.

La valeur par défaut est 4294967295.

D'abord, mettez smpAffinitized à true.

L'identification du processeur va de droite à gauche. Commence au processeur 0. Pour définir l'affinité avec les 12 derniers processeurs :

0000 0000 1111 1111 1111 0000 0000 0000

Puis vous convertissez ça en hexagone :

0x1FFE000

3 votes

Quand je regarde le snmpProcessorAffinityMask dans IIS (Pools d'applications -> Paramètres avancés), elles semblent toujours être exprimées en décimal plutôt qu'en hexadécimal. Par exemple, '4294967295'. Pourtant, la description de la propriété indique qu'il s'agit d'un masque hexadécimal. Comment cela se fait-il ?

0 votes

Donc, si je laisse la valeur par défaut dans smpprocessoraffinitymask '4294967295', et que je fixe smpAffinitized à True, le pool d'applications utilisera tous les processeurs disponibles ?

4voto

Ali Hasan Points 173

J'ai fait un graphique pour chaque affinité de nœuds NUMA. J'espère que quelqu'un pourra en bénéficier.

enter image description here

0 votes

Comment utilisez-vous ce beau tableau ?

0 votes

Puisque c'est binaire, vous pouvez faire la somme de ceux que vous voulez, par exemple : CPU1 + CPU4 == 2 + 16 = 18 ; le binaire est 10010 ; 12 en hex ; je veux CPU8 et CPU9, alors 256 + 512 ce qui signifie 1100000000 et en hex 300

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X