GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:come limitare un processo a un core della CPU in Linux??

Questa domanda ha già risposte qui :Come posso impostare l'affinità del processore di un processo su Linux?

(4 risposte)
Chiuso 3 anni fa.

Come limitare il processo a un core della CPU?

Qualcosa di simile a ulimit o cpulimit sarebbe bello. (Solo per garantire:NON voglio limitare l'utilizzo percentuale o il tempo di esecuzione. Voglio forzare l'app (con tutti i suoi figli, processi (thread)) a utilizzare un core della CPU (o 'n' core della CPU)).

Risposta accettata:

Sotto Linux, esegui sched_setaffinity chiamata di sistema. L'affinità di un processo è l'insieme di processori su cui può essere eseguito. C'è un wrapper di shell standard:taskset . Ad esempio, per aggiungere un processo alla CPU #0 (è necessario scegliere una CPU specifica):

taskset -c 0 mycommand --option  # start a command with the given affinity
taskset -c -pa 0 1234            # set the affinity of a running process

Esistono moduli di terze parti per entrambi Perl (Sys::CpuAffinity ) e Python (affinity ) per impostare l'affinità di un processo. Entrambi funzionano sia su Linux che su Windows (Windows potrebbe richiedere altri moduli di terze parti con Sys::CpuAffinity ); Sys::CpuAffinity funziona anche su molte altre varianti Unix.

Se desideri impostare l'affinità di un processo dal momento della sua nascita, imposta l'affinità del processo corrente immediatamente prima di chiamare execve . Ecco un banale wrapper che forza l'esecuzione di un processo su CPU 0.

#!/usr/bin/env perl
use POSIX;
use Sys::CPUAffinity;
Sys::CpuAffinity::setAffinity(getpid(), [0]);
exec $ARGV[0] @ARGV

Linux
  1. Come uccidere un processo zombie su Linux

  2. Come limitare l'utilizzo della CPU di un processo in Linux

  3. Come posso impostare l'affinità del processore di un processo su Linux?

  4. Come limitare un processo a un core della CPU in Linux?

  5. Linux:come sapere quali processi sono bloccati su quale core?

Come monitorare la temperatura della CPU su un sistema Linux Redhat 7

Come uccidere un processo in Linux

Come limitare l'utilizzo della CPU con CPULimit su Ubuntu Linux

Come uccidere i processi Zombie in Linux

Come ottenere l'utilizzo della CPU di un singolo processo in Linux

Come KILL un processo su Linux