Comment définir l’affinité de processus sous Linux

L’affinité de processus (également connue sous le nom d’épinglage du processeur) est le processus d’affectation de programmes en cours d’exécution à un seul thread (cœur virtuel), plutôt que de lui permettre de s’exécuter avec tous les threads du processeur. La définition de l’affinité de processus est avantageuse, car elle permettra aux utilisateurs de décider exactement de la quantité de ressources qu’un programme utilise.

Dans ce guide, nous verrons comment définir l’affinité des programmes en cours d’exécution sur votre PC Linux. Nous examinerons également d’autres façons de limiter les ressources système aux programmes de votre système d’exploitation Linux.

Trouver les informations de votre CPU

Avant que nous puissions expliquer comment épingler des programmes individuels à des threads spécifiques, nous devons savoir combien de threads vous avez disponibles sur votre système Linux. Il existe plusieurs façons de trouver ces informations. Nous couvrirons deux manières.

La première façon de connaître le nombre de threads de votre processeur consiste à utiliser la commande nproc. Cette commande donne un nombre brut de processeurs qui sont disponibles pour votre système Linux à utiliser.

  Comment utiliser VLC avec Chromecast sur Linux

Pour exécuter la commande nproc afin de déterminer le nombre de threads dont vous disposez, vous devez ouvrir une fenêtre de terminal. Pour ouvrir une fenêtre de terminal, appuyez sur Ctrl + Alt + T ou Ctrl + Maj + T sur le clavier.

Avec la fenêtre du terminal ouverte, exécutez nproc.

nproc

Vous remarquerez après avoir exécuté la commande; un nombre apparaît dans l’invite. Le nombre correspond au nombre de threads (cœurs virtuels) de votre système Linux. Pour enregistrer ces informations pour plus tard, procédez comme suit.

nproc >> ~/cpu-count.txt

Si la commande nproc ne vous suffit tout simplement pas, il existe un meilleur outil de ligne de commande qui donne beaucoup plus d’informations sur les threads de votre processeur. Cela s’appelle CPU Info. Voici comment l’installer.

Tout d’abord, assurez-vous d’avoir une fenêtre de terminal ouverte. Ensuite, entrez les commandes d’installation ci-dessous qui correspondent au système d’exploitation Linux que vous utilisez.

Ubuntu

Sur Ubuntu Linux, vous pourrez installer CPU Info à l’aide de la commande Apt package manager ci-dessous.

sudo apt install cpuinfo

Debian

Ceux sur Debian Linux peuvent obtenir des informations sur le processeur avec la commande Apt-get suivante.

sudo apt-get install cpuinfo

Arch Linux

Arch Linux peut facilement installer l’outil CPU Info sur Linux en utilisant la commande Pacman suivante dans une fenêtre de terminal.

sudo pacman -S python-py-cpuinfo

Feutre

Utilisez-vous Fedora Linux? Mettez la main sur CPU Info en exécutant la commande Dnf suivante dans un terminal.

sudo dnf install python3-cpuinfo

OpenSUSE

Un utilisateur d’OpenSUSE Linux? Obtenez des informations sur le processeur et exécutez-le avec la commande Zypper ci-dessous.

sudo zypper install python3-py-cpuinfo

Une fois que le programme CPU Info est configuré sur votre PC Linux, il est temps de l’utiliser pour trouver des informations sur le CPU afin que nous puissions déterminer exactement le nombre de threads avec lesquels travailler.

  Comment désactiver les notifications 'Try Edge' dans Windows 10

En utilisant la commande cpu-info ci-dessous, obtenez une lecture de votre CPU.

Remarque: vous devrez peut-être exécuter cpuinfo plutôt que cpu-info sous Arch Linux, Fedora ou OpenSUSE Linux.

cpu-info

Après avoir exécuté la commande, vous verrez à la fois un nombre de cœurs et un nombre logique. Le décompte logique est le nombre de threads avec lesquels vous devez travailler. Les informations logiques sont les plus importantes en ce qui concerne ce guide. N’hésitez pas à enregistrer les informations du processeur dans un fichier texte en exécutant la commande suivante.

cpu-info >> ~/cpu-count.txt

Comment définir l’affinité de processus sous Linux

Pour définir l’affinité de processus sur votre PC Linux, vous devrez utiliser le programme intégré Taskset. Ouvrez une fenêtre de terminal en appuyant sur Ctrl + Alt + T ou Ctrl + Maj + T sur le clavier. Ensuite, à partir de là, suivez les instructions étape par étape ci-dessous pour savoir comment affiner un processus en cours d’exécution.

  Comment désactiver et désactiver iMessage sur iPhone ou iPad

Étape 1: Trouvez l’ID de processus d’un programme en cours d’exécution en exécutant pidof, suivi du nom de l’application. Par exemple, pour trouver l’ID de processus de Thunderbird, exécutez l’exemple de commande ci-dessous.

pidof thunderbird

Étape 2: notez l’ID de processus de l’application. Ensuite, branchez-le dans l’exemple de commande de groupe de tâches suivant.

Remarque: vous devez remplacer thread_number par le thread CPU sur lequel vous souhaitez mettre le programme. Vous devez également remplacer process_id par l’ID de processus trouvé avec pidof que vous souhaitez affiner avec l’ensemble de tâches.

sudo taskset -cp thread_number process_id &

Besoin de vérifier votre programme nouvellement affiné? Exécutez l’ensemble de tâches -p sur l’ID de processus du programme pour confirmer qu’il s’exécute sur le thread du processeur que vous avez spécifié à l’étape 2.

taskset -p process_id

En savoir plus sur Taskset

Pour en savoir plus sur Taskset, vous devrez lire le manuel. Exécutez la commande man taskset.

man taskset

L’exécution de la commande man taskset vous présentera un manuel détaillé sur l’application Taskset. Regardez-le car cela vous aidera à comprendre le fonctionnement de l’application. Une fois terminé, appuyez sur q pour quitter.