GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿cómo limitar un proceso a un núcleo de CPU en Linux?

Esta pregunta ya tiene respuestas aquí :¿Cómo puedo establecer la afinidad del procesador de un proceso en Linux?

(4 respuestas)
Cerrado hace 3 años.

¿Cómo limitar el proceso a un núcleo de CPU?

Algo similar a ulimit o cpulimit sería bueno. (Solo para asegurarme:NO quiero limitar el porcentaje de uso o el tiempo de ejecución. Quiero forzar la aplicación (con todos sus hijos, procesos (subprocesos)) para usar un núcleo de CPU (o 'n' núcleos de CPU)).

Respuesta aceptada:

En Linux, ejecute sched_setaffinity llamada del sistema. La afinidad de un proceso es el conjunto de procesadores en los que puede ejecutarse. Hay un contenedor de shell estándar:taskset . Por ejemplo, para anclar un proceso a la CPU #0 (debe elegir una CPU específica):

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

Hay módulos de terceros para Perl (Sys::CpuAffinity ) y Python (affinity ) para establecer la afinidad de un proceso. Ambos funcionan tanto en Linux como en Windows (Windows puede requerir otros módulos de terceros con Sys::CpuAffinity ); Sys::CpuAffinity también funciona en varias otras variantes de Unix.

Si desea establecer la afinidad de un proceso desde el momento de su nacimiento, establezca la afinidad del proceso actual inmediatamente antes de llamar a execve . Aquí hay un contenedor trivial que obliga a un proceso a ejecutarse en la CPU 0.

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

Linux
  1. Cómo matar un proceso zombie en Linux

  2. Cómo instalar vtop en Linux

  3. Linux:¿cómo configurar la afinidad del procesador de un proceso en Linux?

  4. ¿Cómo puedo configurar la afinidad del procesador de un proceso en Linux?

  5. Linux:¿cómo saber qué procesos están anclados a qué núcleo?

Cómo monitorear la temperatura de una CPU en el sistema Redhat 7 Linux

Cómo matar un proceso en Linux

Cómo limitar el uso de la CPU con CPULimit en Ubuntu Linux

Cómo matar procesos Zombie en Linux

Cómo obtener el uso de la CPU de un solo proceso en Linux

Cómo MATAR un proceso en Linux