GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo configurar la afinidad de la CPU para un proceso de C o C++ en Linux?

Utilice sched_setaffinity a nivel de proceso o pthread_attr_setaffinity_np para subprocesos individuales.


Necesitas usar sched_setaffinity(2) .

Por ejemplo, para ejecutar solo en las CPU 0 y 2:

#define _GNU_SOURCE
#include <sched.h>

cpu_set_t  mask;
CPU_ZERO(&mask);
CPU_SET(0, &mask);
CPU_SET(2, &mask);
int result = sched_setaffinity(0, sizeof(mask), &mask);

(0 para el primer parámetro significa el proceso actual, proporcione un PID si es algún otro proceso que desea controlar).

Véase también sched_getcpu(3) .


Linux
  1. Cómo limitar el uso de la CPU de un proceso en Linux

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

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

  4. Linux:¿cómo configurar la afinidad de CPU predeterminada para todos los demonios en Systemd?

  5. Cómo configurar la afinidad de la CPU para el proceso SYSTEMD en CentOS/RHEL 7

Consejos para la parte superior:Monitoreo de la carga de la CPU en Linux

Cómo matar un proceso en Linux

3 consejos para mejorar el rendimiento de los procesos de Linux con prioridad y afinidad

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

Cómo configurar un Killswitch de Linux para VPN

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