Programm zu einer bestimmten CPU zuordnen
Windows NT und Windows 2000/XP unterstützen ja auch Systeme mit mehreren CPUs. Zur Laufzeit eines Programms ist es möglich den Taskmanager zu verwenden, um das Programm einer bestimmten CPU zuzuordnen. Auf Dauer ist das aber lästig, denn jedes Mal wenn das Programm gestartet wird muss die Zuordnung neu erfolgen. Dafür gibt es aber Abhilfe.
Das Programm Imagecfg.exe von der NT (W2K) CD kann die CPU Zuordnung nämlich dauerhaft durch führen. Sie finden dieses Programm auf der CD im Ordner \support\debug\i386 bei NT 4 oder auf dem Windows 2000 Server Resource Kit Supplement 1. Um die CPU Zuordnung dauerhaft zu machen benötigen Sie folgende Kommandozeile:
Imagecfg -a XXX "Laufwerk:\Programmpfad"
Dabei ist XXX ein Hexadezimalwert der angibt, welcher CPU
das Programm zugeordnet sein soll. Unterstützt werden alle Werte von 0 bis 31, in der Praxis werden Sie aber nur 2 CPUs vorliegen haben. Der Wert für die erste CPU lautet dann 0x1, der für die zweite 0x2.
Achtung Wichtig
Die originale Programmdatei ist vor der Behandlung mit dem Tool "imagecfg.exe" zu sichern, da die Programmdatei verändert wird und es momentan offenbar keine Möglichkeit gibt, die Änderungen "auf normalem Wege" zurückzusetzen.
Beispiele:
Als Beispiel nehme ich hier mal den Acrobat Reader in der Version 6. Um diesem Programm auf einer Hyperthreading- oder Multiprozessor-Umgebung vorzumachen, dass nur eine CPU verfügbar ist, lautet der Befehl so:
C:\Programme\Adobe\Acrobat 6.0\Reader>imagecfg -u AcroRd32.exe
Um dem Programm nun die CPU "1" zuzuweisen lautet der Befehl:
C:\Programme\Adobe\Acrobat 6.0\Reader>imagecfg -a 0x1 AcroRd32.exe
bzw für die CPU "0" (so wird die 1.logische CPU im Taskmanager bezeichnet):
C:\Programme\Adobe\Acrobat 6.0\Reader>imagecfg -a 0x2 AcroRd32.exe