Domanda

Ho una macchina a doppio processore e vorrei lanciare un eseguibile tramite un file batch su entrambi i processori.

Ad esempio: (1) Avviare Notepad.exe sul processore 1 e (2) Contemporaneamente, Notepad.exe sul processore 2

Attualmente sto usando quanto segue nel mio file batch, dato che il mio eseguibile era "difficile" per avviare e aveva bisogno di un ritorno al fine di eseguire all'avvio: eco |. DoStuff.exe

Pertanto, vorrei avviarlo e farlo funzionare su ciascun processore.

Grazie per qualsiasi feedback fornito.

P.S. Non credo " start " funzionerà per me poiché devo inviare il carattere di ritorno all'eseguibile come mostrato sopra con eco.

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

È stato utile?

Soluzione

La psexec di Microsoft's Sysinternal può impostare l'affinità del processore su 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"

Ad esempio:

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

Altri suggerimenti

start / affinity 1 notepad.exe

start / affinity 2 notepad.exe

(Windows 7 ha affinità con il comando start, ma XP no. PSexec funziona però)

  • Questa pagina parla di un servizio gratuito strumento chiamato XCPU a cui puoi usare avviare e impostare l'affinità. Comunque, il il link all'interno non funziona. Forse un po ' di google può trovarlo per te.

  • E c'è uno strumento simile qui chiamato runfirst.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top