processAffinityMask

Ich spiele gerade mit der processAffinityMask Einstellung rum. Ich wollte gerne wissen, was der höchste Wert der processAffinityMask ist, weil ich einen Threadripper 3970x mit 64 logischen cores benutze. Ich würde gerne so viele cores wie möglich verwenden.

Bis jetzt habe ich folgendes als höchsten Wert gefunden:
SET processAffinityMask „4294967295“

Das Problem ist, dass der oben genannte Wert nur zu 31 cores verwendet führt. Kann man den Wert noch höher setzen und alle 64 cores verwenden?

Vielen Dank im vorraus und freundliche Grüsse,
Mikk

processAffinityMask kommt von Windows. Irgendwo glaube ich gelesen zu haben, daß die Windows 64-Bit Betriebssysteme nur Emulationen von 32-Bit Systemen sind und auch Windows 10 nicht mehr als 32 Threads gleichzeitig ansprechen kann.

Es ist auch eine cvar in WoW Merag. :slight_smile:

Viel Spaß beim ausprobieren Guildma. Es wird vermutlich nicht funktionieren.
2^32-1 = 4 294 967 295
2^64-1 = 18 446 744 073 709 551 615

Danke, aber wie du schon sagtest…funktioniert leider nicht. :slight_smile:

Schon ausprobiert über den Taskmanager die Kerne auszuwählen oder mit einem mit Hexadezimalzahlen versehenen Link zur Wow.exe ?

_https://www.eightforums.com/threads/cpu-affinity-shortcut-for-a-program-create-in-windows.40339/

Vielen Dank, dass du das rausgesucht hast. Aber ich werde windows das einfach managen lassen. Ich hatte mir erhofft etwas optimieren zu können, aber es kommt auf die gleiche performance raus.

Richtig - WoW teilt sich zwar in bis zu 48 Threads auf, aber nur 2 Threads davon erzeugen dauerhaft messbares CPU-load.

Mit anderen Worten: Es wäre schlauer, WoW mittels der processAffinityMask Cache-lokal in wenigen CPU-Threads (die wie gesagt den gleichen Cache nutzen) zu legen, und NICHT über den gesamten Cache von allen Cores zu verteilen.

Wenn ich das richtig in Erinnerung habe, besteht der 3970x doch aus 4 Stück 8-Core-CCDs, oder?

Somit sollte ein Festnageln auf die ersten 16 Threads (bzw. ersten 8 Cores, alias erstes CCD) (oder zweites CCD, drittes CCD, viertes CCD) am sinnvollsten sein und wegen weniger Cache misses zu minimalst besserer Performance führen.

Jetzt musst Du nur noch herausfinden, welches bit in der processAffinityMask welchem CPU-Core bzw. CPU-Thread auf welchem CCD zugeordnet wird!

1 Like

WoW! Danke Naldo :slight_smile: