2009-05-06 9 views
8

Ho una macchina a doppio processore e vorrei avviare un eseguibile tramite un file batch su entrambi i processori.Come impostare l'affinità del processore da Batch File per Windows XP?

Ad esempio: (1) Avviare Notepad.exe il processore 1, e (2) Allo stesso tempo, Notepad.exe sul processore 2

Attualmente, sto usando il seguente nel mio file batch, dal momento che il mio eseguibile era "difficile" da avviare e necessitava di un ritorno per essere eseguito al momento del lancio: echo. | DoStuff.exe

Così, mi piacerebbe avviarlo e farlo funzionare su ogni processore.

Grazie per qualsiasi feedback fornito.

P.S. Non penso che "start" funzionerà per me dal momento che ho bisogno di inviare il carattere di ritorno all'eseguibile come mostrato sopra con eco.

P.S.S. Questo è per una soluzione di Windows XP. Grazie.

+1

Si potrebbe voler riconsiderare questo. In generale, lo scheduler della CPU prenderà decisioni migliori di te. L'abbiamo provato e in effetti abbiamo visto una leggera riduzione delle prestazioni appena lanciando due programmi separati – Steve

risposta

6
-a

di Microsoft di Sysinternal psexec s' possibile impostare l'affinità di processore in Windows XP:

 
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" 
.210

Per esempio:

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

Daremo uno scatto domani. Grazie mille. – JustADude

0
  • This page parla di un strumento gratuito chiamato XCPU è possibile utilizzare per lancio e impostare l'affinità. Tuttavia il collegamento all'interno non funziona. Forse un po 'di di googling può individuarlo per te.

  • E c'è uno strumento simmillar here chiamato runfirst.

+0

che è ancora possibile trovare utilizzando archive.org, vedere http://web.archive.org/web/20071012053544/http://www.appliedvisual. it/xcpu.htm Pubblicazione di questo qui poiché questo è uno dei risultati di Google di livello più alto, quindi questo può probabilmente essere ancora utile per alcuni. –

20

start/affinità 1 notepad.exe

start/affinità 2 notepad.exe

(Windows7 ha affinità per il comando di avvio, ma XP non. PsExec funziona però)

+0

+1 Impressionante. Mai notato prima quella bandiera! –

+0

Sfortunatamente non riesco ad utilizzare start dal momento che ho bisogno di usare echo. | DoStuff.exe, quindi una dichiarazione di ritorno viene inviata nell'eseguibile. C'è un modo per impostare l'affinità e inviare una dichiarazione di ritorno? – JustADude

+2

Cosa succede se si avvia un file batch con qualche affinità con "echo. | DoStuff.exe" al suo interno? Passerebbe all'affinità dell'istanza di cmd? – Anonymous