Jannah Theme License is not validated, Go to the theme options page to validate the license, You need a single license for each domain name.
Linux

Comment attribuer des cœurs de processeur avec un ensemble de tâches sous Linux

Le traitement multicœur peut présenter des avantages et des inconvénients, et vous devez parfois attribuer manuellement des cœurs de processeur aux programmes (alias « affinité de processeur ») afin d’obtenir les meilleures performances. Sous Linux, l’outil principal est le jeu de tâches. Cela semble potentiellement effrayant, mais nous allons le décomposer en étapes simples pour simplifier le processus.

Contenu

Notions de base sur les ensembles de tâches

L’utilisation de l’ensemble de tâches peut être décomposée en deux parties : l’affinité du processeur avec les programmes à lancer et avec les programmes déjà en cours d’exécution. Le lancement de programmes est le plus simple des deux, nous allons donc commencer par là. Une commande de lancement ressemble à ceci :

Avant d’entrer le numéro du cœur de processeur que vous souhaitez attribuer, n’oubliez pas qu’un schéma de numérotation Unix commence généralement à 0, donc votre premier cœur sera 0, votre deuxième cœur 1, et ainsi de suite. Ainsi, une machine à double cœur aura les cœurs 0 et 1, et une machine à quatre cœurs aura les cœurs 0, 1, 2 et 3.

Disons que vous voulez exécuter Audacity sur un système dual-core, et que vous voulez qu’il s’exécute sur votre deuxième core. Cette commande serait :

Utilisation de plusieurs cœurs

Sur l’une de nos machines, Chrome perdait parfois des images lors du streaming vidéo, mais se comportait de lui-même lorsqu’il était affecté à deux cœurs. Si vous voulez essayer la même chose sur un système quadricœur et souhaitez affecter Chrome aux cœurs trois et quatre, la commande serait :

Vous n’avez pas besoin d’attribuer une affinité CPU aux cœurs séquentiels – vous pouvez choisir n’importe quel(s) cœur(s) au hasard. Disons que vous avez une machine à six cœurs et que vous souhaitez utiliser Chrome sur les cœurs deux et six. Vous entreriez la commande :

Vous pouvez également utiliser un tiret pour répartir une application sur plusieurs cœurs. Par exemple, de nombreux programmes ou fonctions système plus anciens seront par défaut sur votre premier noyau. Et si vous vouliez laisser le premier cœur aussi libre que possible tout en répartissant une grande application sur tous vos autres cœurs ?

Disons que vous avez un système à huit cœurs et que vous souhaitez exécuter Steam du deuxième au huitième cœur. Cette commande serait :

Modification de l’affinité pour un programme déjà lancé

Taskset ne se limite pas simplement au lancement d’applications. Vous pouvez également modifier l’affinité du processeur pour un programme déjà en cours d’exécution. Cependant, avant de pouvoir modifier l’affinité d’une application, vous devez d’abord connaître son ID de processus (ou PID en abrégé).

Pour connaître le PID de votre application, vous pouvez essayer d’utiliser le moniteur système de votre bureau, mais le moyen le plus rapide consiste simplement à utiliser top. Sans surprise, il utilise la commande :

Psssssst :  Comment copier et coller un dossier sous Linux ?

Les noms de toutes les commandes en cours d’exécution sont sur le côté droit de l’écran. Les ID de processus correspondants sont sur la gauche.

Notez votre PID tel que vous l’utiliserez dans un instant. Pour cet exemple, nous utiliserons VLC, qui est en train de lire une vidéo Matroska haute définition sur un PC plus ancien à six cœurs. Nous expérimentons différentes affinités CPU afin de tirer les meilleures performances de VLC.

Pour modifier l’affinité d’un processus existant, la syntaxe ressemble à ceci :

Si vous pouvez voir notre capture d’écran ci-dessus, l’ID de processus de VLC est 20485. Nous allons essayer d’exécuter VLC sur les quatrième, cinquième et sixième cœurs, qui dans la numérotation Unix seront 3-5. Donc après tout ça, la commande sera :

Mais que se passe-t-il si vous souhaitez vérifier l’affinité existante avant de la modifier ? Pour cela, n’entrez aucun numéro de base, et le jeu de tâches vous dira comment l’affinité est attribuée. Donc, si nous changeons la dernière commande en :

Psssssst :  Comment puis-je exécuter un programme C sous Linux ?

cela nous montre que VLC est réparti sur tous les cœurs.

Ensemble de tâches Recherche d'affinité

Essayons à nouveau avec un autre programme. Disons que nous exécutons une grande Matroska avec SMPlayer à la place, et que SMPlayer a déjà été lancé. Top dit que le PID est 16058.

Ensemble de tâches Top Smplayer

Mais d’abord, nous voulons connaître son affinité existante. En utilisant la commande avec le commutateur -cp mais aucun numéro de cœur, nous pouvons voir que l’affinité est actuellement répartie sur tous les cœurs.

Affinité Smplayer

Nous pouvons maintenant essayer de diffuser SMPlayer sur les trois mêmes cœurs que l’expérience VLC avec la commande :

C’est facile, n’est-ce pas ? Si vous cherchez à évaluer votre PC, consultez notre guide sur 8 outils utiles pour tester votre processeur sous contrainte.

Cet article est-il utile ? Oui Non

Bouton retour en haut de la page

Adblock détecté

Veuillez désactiver votre bloqueur de publicités pour pouvoir visualiser le contenu de la page. Pour un site indépendant avec du contenu gratuit, c’est une question de vie ou de mort d’avoir de la publicité. Merci de votre compréhension! Merci