<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Batch-Archiv - flohs blog</title>
	<atom:link href="https://blog.florianehrle.de/category/skripting/batch/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.florianehrle.de/category/skripting/batch/</link>
	<description>reboot tut gut</description>
	<lastBuildDate>Wed, 04 Feb 2026 16:03:12 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.florianehrle.de/wp-content/uploads/2025/10/cropped-icon-32x32.png</url>
	<title>Batch-Archiv - flohs blog</title>
	<link>https://blog.florianehrle.de/category/skripting/batch/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Windows: Prozessaffinität setzen</title>
		<link>https://blog.florianehrle.de/2026/02/01/windows-prozessaffinitaet-setzen/</link>
					<comments>https://blog.florianehrle.de/2026/02/01/windows-prozessaffinitaet-setzen/#respond</comments>
		
		<dc:creator><![CDATA[Florian Ehrle]]></dc:creator>
		<pubDate>Sun, 01 Feb 2026 05:36:56 +0000</pubDate>
				<category><![CDATA[Batch]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">https://blog.florianehrle.de/?p=8045</guid>

					<description><![CDATA[<p>In früherer Zeit war diese Funktion vermutlich eher selten von Nutzen, aber da sich der physikalische Grundaufbau von x86-Prozessoren in den letzten Jahren stark geändert hat kann man [&#8230;]</p>
<p>Der Beitrag <a href="https://blog.florianehrle.de/2026/02/01/windows-prozessaffinitaet-setzen/" data-wpel-link="internal">Windows: Prozessaffinität setzen</a> erschien zuerst auf <a href="https://blog.florianehrle.de" data-wpel-link="internal">flohs blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>



<div style="height:18px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">In früherer Zeit war diese Funktion vermutlich eher selten von Nutzen, aber da sich der physikalische Grundaufbau von x86-Prozessoren in den letzten Jahren stark geändert hat kann man heute froh sein das es diese API-Funktion gibt. Die Rede ist von der sogenannten Prozessaffinität: Damit kann man bestimmen auf welchem logischen Prozessor ein Task ausgeführt werden soll.</p>



<p class="wp-block-paragraph">Wofür man das gebrauchen könnte wird schnell klar sobald man darüber nachdenkt, wie heutige CPUs funktionieren (auch ARM). Vor allem bei Intel gibt es mittlerweile &#8222;Performance&#8220;- und &#8222;Effizienzkerne&#8220;. Bei AMD gibt es Modelle wie beispielsweise den Ryzen 9 5900X bzw. <strong><a href="https://amzn.to/45HUcTG" data-wpel-link="external" target="_blank" rel="external noopener noreferrer">5950X*</a></strong>, in denen zwei Chiplets zu je 6 bzw. 8 Kernen verbaut sind und nur das erste Chiplet die beworbenen Taktraten schafft, da eines mit besserer Siliziumqualität verbaut wurde.</p>



<p class="wp-block-paragraph">Prozesse auf logische Kerne bzw. Threads zu verteilen macht normalerweise der Scheduler im Betriebssystem von selbst, also leistungshungrige Prozesse auf bekanntermaßen leistungsstarke Kerne schieben. Wenn man sich darauf aber nicht verlassen will ist es möglich das zu erzwingen.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Kompatibilität</h4>



<p class="wp-block-paragraph">Die zugrunde liegenden Windowsfunktionen auf Basis der &#8222;<strong>winbase.h</strong>&#8220; existieren seit Windows XP bzw. Windows Server 2003. Die Library ist Kernel32.lib mit der dazugehörigen Kernel32.dll. Man kann die Prozessaffinität also bei allen Betriebssystemen seit inklusive Windows XP setzen.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Funktionsweise</h4>



<p class="wp-block-paragraph">Wichtig zu wissen ist das die Mehrheit aller x86-Prozessoren &#8222;Simultaneous Multithreading&#8220; bzw. &#8222;Hyperthreading&#8220; beherrschen und somit mehr als einen Thread pro physikalischen Prozessorkern ausführen können. Daher die Formulierung &#8222;logischer Prozessor&#8220;, damit ist jeder Thread und nicht jeder Kern gemeint.</p>



<p class="wp-block-paragraph">Um beim Beispiel des AMD Ryzen 9 5950X zu bleiben: Diese CPU hat 16 physikalische Kerne, die mit aktivem SMT 32 Threads bieten. Die Prozessaffinitätsmaske / das System sieht also wieviele CPUs?<br>Richtig, <strong>32</strong>.</p>



<p class="wp-block-paragraph">Das ist wichtig im Hinterkopf zu behalten. Die interne Verteilung folgt der Initialisierungslogik des Systems, also im Beispiel eines 4 Kern / 8 Thread Prozessors mit aktivem SMT:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-center" data-align="center">Physikalischer Kern</th><th class="has-text-align-center" data-align="center">Physikalischer Thread 1</th><th class="has-text-align-center" data-align="center">Physikalischer Thread 2</th><th class="has-text-align-center" data-align="center">Logischer Prozessor, physikalisch</th><th class="has-text-align-center" data-align="center">Logischer Prozessor, SMT</th></tr></thead><tbody><tr><td class="has-text-align-center" data-align="center">0</td><td class="has-text-align-center" data-align="center">0</td><td class="has-text-align-center" data-align="center">1</td><td class="has-text-align-center" data-align="center">CPU0</td><td class="has-text-align-center" data-align="center">CPU1</td></tr><tr><td class="has-text-align-center" data-align="center">1</td><td class="has-text-align-center" data-align="center">2</td><td class="has-text-align-center" data-align="center">3</td><td class="has-text-align-center" data-align="center">CPU2</td><td class="has-text-align-center" data-align="center">CPU3</td></tr><tr><td class="has-text-align-center" data-align="center">2</td><td class="has-text-align-center" data-align="center">4</td><td class="has-text-align-center" data-align="center">5</td><td class="has-text-align-center" data-align="center">CPU4</td><td class="has-text-align-center" data-align="center">CPU5</td></tr><tr><td class="has-text-align-center" data-align="center">3</td><td class="has-text-align-center" data-align="center">6</td><td class="has-text-align-center" data-align="center">7</td><td class="has-text-align-center" data-align="center">CPU6</td><td class="has-text-align-center" data-align="center">CPU7</td></tr></tbody></table></figure>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Mit deaktiviertem SMT würde es dann so aussehen:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-center" data-align="center">Physikalischer Kern</th><th class="has-text-align-center" data-align="center">Physikalischer Thread 1</th><th class="has-text-align-center" data-align="center">Physikalischer Thread 2</th><th class="has-text-align-center" data-align="center">Logischer Prozessor, physikalisch</th><th class="has-text-align-center" data-align="center">Logischer Prozessor, SMT</th></tr></thead><tbody><tr><td class="has-text-align-center" data-align="center">0</td><td class="has-text-align-center" data-align="center">0</td><td class="has-text-align-center" data-align="center">&#8211;</td><td class="has-text-align-center" data-align="center">CPU0</td><td class="has-text-align-center" data-align="center">&#8211;</td></tr><tr><td class="has-text-align-center" data-align="center">1</td><td class="has-text-align-center" data-align="center">1</td><td class="has-text-align-center" data-align="center">&#8211;</td><td class="has-text-align-center" data-align="center">CPU1</td><td class="has-text-align-center" data-align="center">&#8211;</td></tr><tr><td class="has-text-align-center" data-align="center">2</td><td class="has-text-align-center" data-align="center">2</td><td class="has-text-align-center" data-align="center">&#8211;</td><td class="has-text-align-center" data-align="center">CPU2</td><td class="has-text-align-center" data-align="center">&#8211;</td></tr><tr><td class="has-text-align-center" data-align="center">3</td><td class="has-text-align-center" data-align="center">3</td><td class="has-text-align-center" data-align="center">&#8211;</td><td class="has-text-align-center" data-align="center">CPU3</td><td class="has-text-align-center" data-align="center">&#8211;</td></tr></tbody></table></figure>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Manuelle Aktivierung</h4>



<p class="wp-block-paragraph">Ganz simpel: Der Prozess muss laufen &#8211; Dann startet man den Taskmanager, wechselt in die Detailansicht und rechtsklickt auf den Prozess. Ein Klick auf &#8222;<em>Zugehörigkeit festlegen</em>&#8220; öffnen ein Dialogfeld in dem man exakt anhaken kann auf welchen logischen Prozessoren der Prozess laufen soll und welchen nicht:</p>



<figure class="wp-block-gallery has-nested-images columns-4 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="699" height="683" data-id="8050" src="https://blog.florianehrle.de/wp-content/uploads/2026/01/taskmgr1e.png" alt="" class="wp-image-8050" srcset="https://blog.florianehrle.de/wp-content/uploads/2026/01/taskmgr1e.png 699w, https://blog.florianehrle.de/wp-content/uploads/2026/01/taskmgr1e-300x293.png 300w" sizes="(max-width: 699px) 100vw, 699px" /></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="699" height="683" data-id="8051" src="https://blog.florianehrle.de/wp-content/uploads/2026/01/taskmgr2.1e.png" alt="" class="wp-image-8051" srcset="https://blog.florianehrle.de/wp-content/uploads/2026/01/taskmgr2.1e.png 699w, https://blog.florianehrle.de/wp-content/uploads/2026/01/taskmgr2.1e-300x293.png 300w" sizes="(max-width: 699px) 100vw, 699px" /></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="699" height="683" data-id="8052" src="https://blog.florianehrle.de/wp-content/uploads/2026/01/taskmgr3e.png" alt="" class="wp-image-8052" srcset="https://blog.florianehrle.de/wp-content/uploads/2026/01/taskmgr3e.png 699w, https://blog.florianehrle.de/wp-content/uploads/2026/01/taskmgr3e-300x293.png 300w" sizes="(max-width: 699px) 100vw, 699px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="699" height="683" data-id="8053" src="https://blog.florianehrle.de/wp-content/uploads/2026/01/taskmgr4.png" alt="" class="wp-image-8053" srcset="https://blog.florianehrle.de/wp-content/uploads/2026/01/taskmgr4.png 699w, https://blog.florianehrle.de/wp-content/uploads/2026/01/taskmgr4-300x293.png 300w" sizes="auto, (max-width: 699px) 100vw, 699px" /></figure>
</figure>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Im &#8222;Process Explorer&#8220; von SysInternals funktioniert das ebenso über das Kontextmenü des Prozesses.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Permanente Anwendung an einem Prozess</h4>



<p class="wp-block-paragraph">Da wird es jetzt etwas komplexer: Die Funktion arbeitet mit Bitmasken. Um also festzulegen auf welchen genauen logischen Prozessoren ein Task laufen soll muss gerechnet werden:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-center" data-align="center">Logischer Prozessor</th><th class="has-text-align-center" data-align="center">Dezimal</th><th class="has-text-align-center" data-align="center">2 x Dezimal -1</th><th class="has-text-align-center" data-align="center">Hexadezimal</th></tr></thead><tbody><tr><td class="has-text-align-center" data-align="center">CPU0</td><td class="has-text-align-center" data-align="center">1</td><td class="has-text-align-center" data-align="center">1</td><td class="has-text-align-center" data-align="center">1</td></tr><tr><td class="has-text-align-center" data-align="center">CPU1</td><td class="has-text-align-center" data-align="center">2</td><td class="has-text-align-center" data-align="center">3</td><td class="has-text-align-center" data-align="center">2</td></tr><tr><td class="has-text-align-center" data-align="center">CPU2</td><td class="has-text-align-center" data-align="center">4</td><td class="has-text-align-center" data-align="center">7</td><td class="has-text-align-center" data-align="center">4</td></tr><tr><td class="has-text-align-center" data-align="center">CPU3</td><td class="has-text-align-center" data-align="center">8</td><td class="has-text-align-center" data-align="center">15</td><td class="has-text-align-center" data-align="center">8</td></tr></tbody></table></figure>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Um die Bitmaske herauszufinden ist es am einfachsten den Rechner in Windows zu starten und auf den Modus &#8222;<strong>Programmierer</strong>&#8220; umzustellen:</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="695" height="679" data-id="8057" src="https://blog.florianehrle.de/wp-content/uploads/2026/01/calc1e.png" alt="" class="wp-image-8057" srcset="https://blog.florianehrle.de/wp-content/uploads/2026/01/calc1e.png 695w, https://blog.florianehrle.de/wp-content/uploads/2026/01/calc1e-300x293.png 300w" sizes="auto, (max-width: 695px) 100vw, 695px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="695" height="679" data-id="8058" src="https://blog.florianehrle.de/wp-content/uploads/2026/01/calc2e.png" alt="" class="wp-image-8058" srcset="https://blog.florianehrle.de/wp-content/uploads/2026/01/calc2e.png 695w, https://blog.florianehrle.de/wp-content/uploads/2026/01/calc2e-300x293.png 300w" sizes="auto, (max-width: 695px) 100vw, 695px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="695" height="679" data-id="8059" src="https://blog.florianehrle.de/wp-content/uploads/2026/01/calc3.png" alt="" class="wp-image-8059" srcset="https://blog.florianehrle.de/wp-content/uploads/2026/01/calc3.png 695w, https://blog.florianehrle.de/wp-content/uploads/2026/01/calc3-300x293.png 300w" sizes="auto, (max-width: 695px) 100vw, 695px" /></figure>
</figure>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Anschließend rechnet man einfach nur die Dezimalzahlen der gewünschten logischen Prozessoren zusammen und schaut was der Wert in Hexadezimal umgerechnet ergibt. Das ist dann die nötige Bitmaske. Wenn man beispielsweise spezifisch möchte das der Prozess entweder auf Kern 0 oder Kern 3 läuft, geht das auch:<br>1 + 8 ergibt 9, auch hexadezimal ist das 9 und somit ist &#8222;9&#8220; die Bitmaske.</p>



<p class="wp-block-paragraph">Bei CPUs mit vielen Kernen und / oder Threads werden die Zahlen sehr schnell riesig. Das Limit, bevor NUMA-Beschränkungen auftreten und den Prozess komplexer machen liegt bei 64 logischen Prozessoren.</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Tabelle bis zu 32 logische Prozessoren</h4>



<p class="wp-block-paragraph">Hier der Einfachheit halber eine Übersichtstabelle:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-center" data-align="center">Physikalischer Prozessor</th><th class="has-text-align-center" data-align="center">Logischer Prozessor</th><th class="has-text-align-center" data-align="center">Dezimal</th><th class="has-text-align-center" data-align="center">2 x Dezimal -1</th></tr></thead><tbody><tr><td class="has-text-align-center" data-align="center">Kern 0 Thread 1</td><td class="has-text-align-center" data-align="center">CPU0</td><td class="has-text-align-center" data-align="center">(2<sup>0</sup>) = 1</td><td class="has-text-align-center" data-align="center">1</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 0 Thread 2</td><td class="has-text-align-center" data-align="center">CPU1</td><td class="has-text-align-center" data-align="center">(2<sup>1</sup>) = 2</td><td class="has-text-align-center" data-align="center">3</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 1 Thread 1</td><td class="has-text-align-center" data-align="center">CPU2</td><td class="has-text-align-center" data-align="center">(2<sup>2</sup>) = 4</td><td class="has-text-align-center" data-align="center">7</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 1 Thread 2</td><td class="has-text-align-center" data-align="center">CPU3</td><td class="has-text-align-center" data-align="center">(2<sup>3</sup>) = 8</td><td class="has-text-align-center" data-align="center">15</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 2 Thread 1</td><td class="has-text-align-center" data-align="center">CPU4</td><td class="has-text-align-center" data-align="center">(2<sup>4</sup>) = 16</td><td class="has-text-align-center" data-align="center">31</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 2 Thread 2</td><td class="has-text-align-center" data-align="center">CPU5</td><td class="has-text-align-center" data-align="center">(2<sup>5</sup>) = 32</td><td class="has-text-align-center" data-align="center">63</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 3 Thread 1</td><td class="has-text-align-center" data-align="center">CPU6</td><td class="has-text-align-center" data-align="center">(2<sup>6</sup>) = 64</td><td class="has-text-align-center" data-align="center">127</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 3 Thread 2</td><td class="has-text-align-center" data-align="center">CPU7</td><td class="has-text-align-center" data-align="center">(2<sup>7</sup>) = 128</td><td class="has-text-align-center" data-align="center">255</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 4 Thread 1</td><td class="has-text-align-center" data-align="center">CPU8</td><td class="has-text-align-center" data-align="center">(2<sup>8</sup>) = 256</td><td class="has-text-align-center" data-align="center">511</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 4 Thread 2</td><td class="has-text-align-center" data-align="center">CPU9</td><td class="has-text-align-center" data-align="center">(2<sup>9</sup>) = 512</td><td class="has-text-align-center" data-align="center">1023</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 5 Thread 1</td><td class="has-text-align-center" data-align="center">CPU10</td><td class="has-text-align-center" data-align="center">(2<sup>10</sup>) = 1024</td><td class="has-text-align-center" data-align="center">2047</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 5 Thread 2</td><td class="has-text-align-center" data-align="center">CPU11</td><td class="has-text-align-center" data-align="center">(2<sup>11</sup>) = 2048</td><td class="has-text-align-center" data-align="center">4095</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 6 Thread 1</td><td class="has-text-align-center" data-align="center">CPU12</td><td class="has-text-align-center" data-align="center">(2<sup>12</sup>) = 4096</td><td class="has-text-align-center" data-align="center">8191</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 6 Thread 2</td><td class="has-text-align-center" data-align="center">CPU13</td><td class="has-text-align-center" data-align="center">(2<sup>13</sup>) = 8192</td><td class="has-text-align-center" data-align="center">16383</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 7 Thread 1</td><td class="has-text-align-center" data-align="center">CPU14</td><td class="has-text-align-center" data-align="center">(2<sup>14</sup>) = 16384</td><td class="has-text-align-center" data-align="center">32767</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 7 Thread 2</td><td class="has-text-align-center" data-align="center">CPU15</td><td class="has-text-align-center" data-align="center">(2<sup>15</sup>) = 32768</td><td class="has-text-align-center" data-align="center">65535</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 8 Thread 1</td><td class="has-text-align-center" data-align="center">CPU16</td><td class="has-text-align-center" data-align="center">(2<sup>16</sup>) = 65536</td><td class="has-text-align-center" data-align="center">131071</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 8 Thread 2</td><td class="has-text-align-center" data-align="center">CPU17</td><td class="has-text-align-center" data-align="center">(2<sup>17</sup>) = 131072</td><td class="has-text-align-center" data-align="center">262143</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 9 Thread 1</td><td class="has-text-align-center" data-align="center">CPU18</td><td class="has-text-align-center" data-align="center">(2<sup>18</sup>) = 262144</td><td class="has-text-align-center" data-align="center">524287</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 9 Thread 2</td><td class="has-text-align-center" data-align="center">CPU19</td><td class="has-text-align-center" data-align="center">(2<sup>19</sup>) = 524288</td><td class="has-text-align-center" data-align="center">1048575</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 10 Thread 1</td><td class="has-text-align-center" data-align="center">CPU20</td><td class="has-text-align-center" data-align="center">(2<sup>20</sup>) = 1048576</td><td class="has-text-align-center" data-align="center">2097151</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 10 Thread 2</td><td class="has-text-align-center" data-align="center">CPU21</td><td class="has-text-align-center" data-align="center">(2<sup>21</sup>) = 2097152</td><td class="has-text-align-center" data-align="center">4194303</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 11 Thread 1</td><td class="has-text-align-center" data-align="center">CPU22</td><td class="has-text-align-center" data-align="center">(2<sup>22</sup>) = 4194304</td><td class="has-text-align-center" data-align="center">8388607</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 11 Thread 2</td><td class="has-text-align-center" data-align="center">CPU23</td><td class="has-text-align-center" data-align="center">(2<sup>23</sup>) = 8388608</td><td class="has-text-align-center" data-align="center">16777215</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 12 Thread 1</td><td class="has-text-align-center" data-align="center">CPU24</td><td class="has-text-align-center" data-align="center">(2<sup>24</sup>) = 16777216</td><td class="has-text-align-center" data-align="center">33554431</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 12 Thread 2</td><td class="has-text-align-center" data-align="center">CPU25</td><td class="has-text-align-center" data-align="center">(2<sup>25</sup>) = 33554432</td><td class="has-text-align-center" data-align="center">67108863</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 13 Thread 1</td><td class="has-text-align-center" data-align="center">CPU26</td><td class="has-text-align-center" data-align="center">(2<sup>26</sup>) = 67108864</td><td class="has-text-align-center" data-align="center">134217727</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 13 Thread 2</td><td class="has-text-align-center" data-align="center">CPU27</td><td class="has-text-align-center" data-align="center">(2<sup>27</sup>) = 134217728</td><td class="has-text-align-center" data-align="center">268435455</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 14 Thread 1</td><td class="has-text-align-center" data-align="center">CPU28</td><td class="has-text-align-center" data-align="center">(2<sup>28</sup>) = 268435456</td><td class="has-text-align-center" data-align="center">536870911</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 14 Thread 2</td><td class="has-text-align-center" data-align="center">CPU29</td><td class="has-text-align-center" data-align="center">(2<sup>29</sup>) = 536870912</td><td class="has-text-align-center" data-align="center">1073741823</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 15 Thread 1</td><td class="has-text-align-center" data-align="center">CPU30</td><td class="has-text-align-center" data-align="center">(2<sup>30</sup>) = 1073741824</td><td class="has-text-align-center" data-align="center">2147483647</td></tr><tr><td class="has-text-align-center" data-align="center">Kern 15 Thread 2</td><td class="has-text-align-center" data-align="center">CPU31</td><td class="has-text-align-center" data-align="center">(2<sup>31</sup>) = 2147483648</td><td class="has-text-align-center" data-align="center">4294967295</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Wenn ich zum Beispiel bei einem AMD Ryzen 9 5950X möchte, das der designierte Prozess nur auf den potenziell schnelleren ersten 8 Kernen bzw. 16 Threads läuft wäre die Bitmaske rechnerisch &#8222;<strong>FFFF</strong>&#8220; .</p>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Scripting</h4>



<p class="wp-block-paragraph">Man kann den Vorgang mit Batch oder PowerShell automatisieren. Ein einfaches Beispiel in Batch:</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#e1e4e8;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>@echo off
cd "C:\Users\Admin\Desktop\MeineSoftware"
START /min /affinity FFFF cmd /C "MeinProzess.exe -MeinParameter1 -MeinParameter2"</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark" style="background-color: #24292e" tabindex="0"><code><span class="line"><span style="color: #F97583">@echo</span><span style="color: #E1E4E8"> </span><span style="color: #F97583">off</span></span>
<span class="line"><span style="color: #F97583">cd</span><span style="color: #E1E4E8"> </span><span style="color: #9ECBFF">&quot;C:\Users\Admin\Desktop\MeineSoftware&quot;</span></span>
<span class="line"><span style="color: #F97583">START</span><span style="color: #E1E4E8"> /min /affinity FFFF </span><span style="color: #F97583">cmd</span><span style="color: #E1E4E8"> /C </span><span style="color: #9ECBFF">&quot;MeinProzess.exe -MeinParameter1 -MeinParameter2&quot;</span></span></code></pre></div>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Zusätzlich kann man auch noch gleich die Prozesspriorität setzen:</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#e1e4e8;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>@echo off
cd "C:\Users\Admin\Desktop\MeineSoftware"
START /high /min /affinity FFFF cmd /C "MeinProzess.exe -MeinParameter1 -MeinParameter2"</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark" style="background-color: #24292e" tabindex="0"><code><span class="line"><span style="color: #F97583">@echo</span><span style="color: #E1E4E8"> </span><span style="color: #F97583">off</span></span>
<span class="line"><span style="color: #F97583">cd</span><span style="color: #E1E4E8"> </span><span style="color: #9ECBFF">&quot;C:\Users\Admin\Desktop\MeineSoftware&quot;</span></span>
<span class="line"><span style="color: #F97583">START</span><span style="color: #E1E4E8"> /high /min /affinity FFFF </span><span style="color: #F97583">cmd</span><span style="color: #E1E4E8"> /C </span><span style="color: #9ECBFF">&quot;MeinProzess.exe -MeinParameter1 -MeinParameter2&quot;</span></span></code></pre></div>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">Mögliche Werte sind:</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#e1e4e8;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>/low
/normal
/high
/realtime
/abovenormal
/belownormal</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark" style="background-color: #24292e" tabindex="0"><code><span class="line"><span style="color: #E1E4E8">/low</span></span>
<span class="line"><span style="color: #E1E4E8">/normal</span></span>
<span class="line"><span style="color: #E1E4E8">/high</span></span>
<span class="line"><span style="color: #E1E4E8">/realtime</span></span>
<span class="line"><span style="color: #E1E4E8">/abovenormal</span></span>
<span class="line"><span style="color: #E1E4E8">/belownormal</span></span></code></pre></div>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<hr class="wp-block-separator has-alpha-channel-opacity is-style-wide"/>
<p>Der Beitrag <a href="https://blog.florianehrle.de/2026/02/01/windows-prozessaffinitaet-setzen/" data-wpel-link="internal">Windows: Prozessaffinität setzen</a> erschien zuerst auf <a href="https://blog.florianehrle.de" data-wpel-link="internal">flohs blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.florianehrle.de/2026/02/01/windows-prozessaffinitaet-setzen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
