2013-03-16 12 views
13

Voglio impostare l'affinità della cpu di un processo su linux quando sta avviando.impostazione affinità cpu di un processo dall'inizio su linux

Esistono metodi come sched_setaffinity e taskset, ma hanno bisogno del processid del processo. Possono causare potenziali migrazioni come un processo avviato su un core, ma dopo l'uso di sched_setaffinity/taskset, sono stati migrati su un altro core.

Quello che voglio fare è iniziare un nuovo processo su un core specifico dall'inizio.

+0

Perché vuoi farlo? Spesso, il kernel è meglio di te per scegliere un core per eseguire qualche attività ... –

+0

Sto lavorando a un modulo di checkpoint che controlla un processo. Voglio salvare le informazioni di affinità cpu per questo processo e avviare questo processo dall'ultimo checkpoint con la stessa affinità. –

risposta

18

taskset può essere utilizzato sia per impostare l'affinità di un processo in esecuzione o lanciare un processo con una certa affinità, vedere

Sinossi

taskset [options] mask command [arg]... 
taskset [options] -p [mask] pid 

Il comando di seguito lancerà browser Google Chrome in CPU 1 & 2 (o 0 e 1). La maschera è 0 × 00000003 e il comando è "google-chrome".

taskset 0×00000003 google-chrome 
+0

Grazie mille per le informazioni. Fammi controllare e lavorarci su. (In particolare, voglio vedere il funzionamento interno del tasket a livello di kernel) –

Problemi correlati