← retour aux snippets

taskset: fixer l'affinité CPU d'un processus

Pinner une tâche à un ou plusieurs CPUs pour stabiliser la perf ou isoler des charges.

bash process #taskset#cpu#affinity

objectif

Contrôler sur quels coeurs un processus s’exécute pour éviter la contention ou mesurer de façon reproductible.

code minimal

# lancer une commande sur CPU 0 et 1
taskset -c 0-1 mycommand

utilisation

# appliquer à un PID existant (ex: 4242)
sudo taskset -cp 0,2 4242

# combiner avec iperf3 pour un test stable
taskset -c 0-1 iperf3 -c SERVEUR -P 4 -t 20

variante(s) utile(s)

# affinité hexadécimale (CPU 0 et 3 -> masque 0b1001 = 0x9)
taskset 0x9 mycommand

notes

  • utile pour benchmarks; ne pas surcontraindre en production sans raison.
  • vérifiez le NUMA et la topologie (lscpu) pour regrouper les threads efficacement.
  • préfèrez des cgroups CPUSet pour des politiques persistantes.