Lancer une application sur un seul CPU ou un seul coeur
![]()
De nos jours, la plupart des CPU sont multi-cœurs. Si vous souhaitez lancer un programme et que vous ne voulez pas utiliser toutes les ressources de votre système, voici une astuce qui permet de limiter son utilisation à un seul CPU ou un seul cœur.

Pour cela, il faut installer le programme taskset présent dans le paquet util-linux. Ouvrez un terminal en root et lancez la commande suivante pour une distribution à base de Debian :
sudo apt-get install util-linux
Ou celle-ci pour une distribution à base de RPM :
yum install util-linux
Ensuite, pour assigner une application ou un script à un processeur, il suffit de lancez cette commande, ou 1 désigne le numéro du processeur ou du cœur :
taskset -c 1 script.sh
Et si vous voulez utiliser une liste de plusieurs CPU :
taskset -c 1,2,3 script.sh


Créé en 2005, Tux-planet est un site qui a pour ambition de regrouper des articles sur Linux et le monde des logiciels libres. 





5 Commentaires pour "Lancer une application sur un seul CPU ou un seul coeur"
Flux des commentaires de cet article Ajouter un commentaireEt pour lancer tout le système ( on va dire debian ) sur un seul coeur ? ( la question qui va demander bien plus qu'un article j'ai l'impression )
@peuks : Utilise xen
Aurais tu une piste pour interdire à tout les processus de s’exécuter sur un coeur (le 3 par ex) ?
Puis de lancer un seul et unique process dessus avec taskset.
Toutes pistes est la bienvenu !
@peuks : J'ai trouvé ça, il faut rajouter "maxcpus=1" à la suite de la ligne kernel dans le Grub.
@root : je sais pas si c'est possible. Mais si tu lance un script ou un programme sur un cœur, les autres iront surement sur les cœurs restant, répartition de charge oblige.
Il y a le nouveau framework cgroup qui est parfaitement adapté à ce genre de demande
(il y a un bon article sur le dernier linux/magasine)