GNU/Linux >> Linux Esercitazione >  >> Linux

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

Ho usato taskset per questo. Se hai installato taskset, qualcosa come:

taskset -cp 0,2 45678

imposterebbe il processo con id 45678 in modo che abbia un'affinità con cpus 1 e 3.


All'interno del processo, la chiamata sarebbe sched_setaffinity() , o per cose relative ai pthread, pthread_setaffinity_np()

In una nota correlata, se ti preoccupi dell'affinità della CPU del tuo programma, potrebbe valere la pena prestare attenzione anche a come sta eseguendo l'allocazione della memoria. I sistemi più grandi con memoria collegata a più di un controller (ovvero più socket CPU, ciascuno con il proprio) avranno latenza e larghezza di banda variabili tra le diverse coppie CPU-memoria. Ti consigliamo di esaminare anche l'affinità NUMA, utilizzando il numactl comando o le chiamate di sistema con cui funziona. Un programma su cui ho lavorato ha ottenuto un miglioramento delle prestazioni del 10% da questo.


Devi installare schedutils (utilità di pianificazione Linux). L'ho usato sul mio desktop Ubuntu.

Collegamento SF


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

  2. Come posso ottenere lo stato della tastiera in Linux?

  3. Come posso impostare il 'backend' in matplotlib in Python?

  4. Come impostare l'indirizzo IP da C in Linux

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

Come modificare la priorità di un processo in Linux

Come uccidere o terminare un processo Linux:la guida definitiva

Come trovare il PID e il PPID di un processo in Linux

Come configurare il cluster RabbitMQ su Ubuntu/Debian Linux

Come configurare il firewall UFW su Linux

Come inviare processi in background su Linux