GNU/Linux >> Linux Esercitazione >  >> Linux

Come impostare l'affinità della CPU per un processo da C o C++ in Linux?

Usa sched_setaffinity a livello di processo o pthread_attr_setaffinity_np per i singoli thread.


Devi usare sched_setaffinity(2) .

Ad esempio, per funzionare solo sulle CPU 0 e 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 poiché il primo parametro indica il processo corrente, fornire un PID se si tratta di un altro processo che si desidera controllare).

Vedi anche sched_getcpu(3) .


Linux
  1. Linux:come impostare l'affinità del processore di un processo su Linux?

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

  3. Come calcolare l'utilizzo della CPU di un processo tramite PID in Linux da C?

  4. Come ottenere l'utilizzo totale della CPU in Linux usando C++

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

Suggerimenti per l'inizio:monitoraggio del carico della CPU su Linux

Come uccidere un processo in Linux

3 suggerimenti per il miglioramento delle prestazioni dei processi Linux con priorità e affinità

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

Come configurare un Killswitch Linux per VPN

Come impostare lo swapiness per processo per Linux?