2009-05-06 7 views
8

Ich habe einen Dual-Prozessor-Maschine und ich möchte eine ausführbare Datei über eine Batch-Datei auf beiden Prozessoren starten.Wie Prozessoraffinität von Batchdatei für Windows XP festlegen?

Zum Beispiel: (1) Starten Sie Notepad.exe auf Prozessor 1 und (2) Gleichzeitig Notepad.exe auf Prozessor 2

Derzeit ist mir die folgende Verwendung in meiner Batch-Datei, da meine ausführbare Datei war "schwierig" zu starten und benötigt eine Rückkehr, um beim Start zu starten: echo. | DoStuff.exe

Also möchte ich es starten und es auf jedem Prozessor ausgeführt haben.

Danke für jede Rückmeldung zur Verfügung gestellt.

P.S. Ich glaube nicht, dass "start" für mich funktioniert, da ich das Return-Zeichen wie oben gezeigt mit echo an die ausführbare Datei senden muss.

P. S. S. Dies ist für eine Windows XP-Lösung. Vielen Dank.

+1

Sie können dies noch einmal überdenken. Im Allgemeinen wird der CPU-Scheduler bessere Entscheidungen treffen als Sie. Wir haben dies ausprobiert und tatsächlich einen leichten Leistungsrückgang beobachtet, als wir zwei separate Programme starteten. – Steve

Antwort

6

Microsofts Sysinternal des psexec ‚s -a Flag kann die Prozessoraffinität auf Windows XP gesetzt:

 
Usage: psexec [\\computer[,computer2[,...] | @file][-u user [-p psswd]][-n s][-l][-s|-e][-x][-i 
[session]][-c [-f|-v]][-w directory][-d][-][-a n,n,...] cmd [arguments] 
    -a   Separate processors on which the application can run with 
       commas where 1 is the lowest numbered CPU. For example, 
       to run the application on CPU 2 and CPU 4, enter: 
       "-a 2,4" 

Zum Beispiel:

psexec -a 2 cmd /c "echo.|DoStuff.exe"
+0

Wird dies morgen eine Chance geben. Vielen Dank. – JustADude

0
  • This page Gespräche über ein kostenloses Tool namens XCPU können Sie auf Start und setzen Affinität verwenden. Jedoch funktioniert die Verbindung innerhalb nicht. Vielleicht ein bisschen von googling kann es für Sie lokalisieren.

  • Und es gibt eine Simmillar Werkzeuge here namens runfirst.

+0

es kann immer noch mit archive.org gefunden werden, siehe http://web.archive.org/web/20071012053544/http://www.appliedvisual. com/xcpu.htm Dies hier zu veröffentlichen, da dies eines der höherrangigen Google-Ergebnisse ist, so kann dies wahrscheinlich für einige noch nützlich sein. –

20

Start/Affinität 1 notepad.exe

Start/Affinität 2 notepad.exe

(Windows7 hat Affinität für den Startbefehl, aber XP nicht. Psexec funktioniert aber)

+0

+1 Super. Habe diese Flagge nie zuvor bemerkt! –

+0

Leider kann ich nicht starten, da ich Echo verwenden muss. | DoStuff.exe, so dass eine Rückmeldung in die ausführbare Datei gesendet wird. Gibt es eine Möglichkeit, die Affinität festzulegen und eine return-Anweisung zu senden? – JustADude

+2

Was ist, wenn Sie eine Stapeldatei mit einiger Affinität mit "echo. | DoStuff.exe" darin gestartet haben? Würde das die Affinität der cmd-Instanz weitergeben? – Anonymous