CPULimit, limite l'utilisation qu'un processus fait du CPU

à propos de CPULimit

Dans le prochain article, nous allons jeter un œil à CPULimit. Ceci est un outil de ligne de commande qui limite l'utilisation du processeur par un processus (exprimé en pourcentage et non en temps processeur). Cela sera utile pour contrôler les travaux par lots, lorsque nous ne voulons pas qu'un processus consomme trop de cycles CPU.

Avec l'utilisation de cet outil, nous n'allons pas modifier la valeur ou d'autres paramètres de priorité, mais l'utilisation réelle du processeur. De plus, il est capable de s'adapter à la charge générale du système, de manière dynamique et rapide. Le contrôle de la quantité de CPU utilisée se fait par l'envoi señales PROCHAIN ​​ARRÊT y SUIVANT POSIX aux processus. Tous les processus enfants et threads du processus spécifié partageront le même pourcentage de CPU.

Installez CPULimit

CPULimit est disponible dans la plupart des référentiels par défaut des distributions de type Unix. Nous pouvons l'installer en utilisant les gestionnaires de paquets par défaut dans la distribution Gnu / Linux respective. Pour l'exemple à portée de main, nous verrons comment l'installer sur Debian, Ubuntu et Linux Mint. Nous n'aurons plus qu'à ouvrir un terminal (Ctrl + Alt + T) et à y écrire la commande suivante:

sudo apt-get install cpulimit

Quiconque le souhaite peut consulter d'autres types d'installations dans le page GitHub du projet.

Utilisation de CPULimit

Une fois l'outil installé, il est temps de voir comment il fonctionne. Pour ce faire, nous allons exécuter un programme qui consomme beaucoup de ressources CPU. Les commandes suivantes doivent être exécutées en tant qu'utilisateur root.

Création d'un script qui consomme des ressources CPU

Nous allons d'abord créer un fichier appelé derrochecpu.sh. Je vais utiliser le Éditeur Vim, mais que chacun utilise celui qu'il préfère. Depuis le terminal (Ctrl + Alt + T) nous devrons écrire:

vim derrochecpu.sh

Une fois ouvert, nous appuierons sur la touche 'Esc' et après 'i». Nous allons maintenant ajouter les lignes suivantes:

script vim splurgecpu

#!/bin/bash
while :; do :; done;

Une fois cela fait, il est temps de sauvegarder et de quitter. Pour ce faire, nous appuierons sur la touche 'Esc'et nous écrirons : wq pour enregistrer et fermer le fichier. Ce court script répétera en toute transparence l'utilisation maximale du processeur. Par conséquent, il est recommandé de le tester sur une machine virtuelle.

Nous allons maintenant rendre ce fichier exécutable. Pour ce faire, à partir du même terminal (Ctrl + Alt + T) nous allons exécuter:

chmod +x derrochecpu.sh

Lancement du script

Nous allons maintenant lancer le processus en arrière-plan. Nous allons le faire en utilisant la commande:

./derrochecpu.sh &

Folie de script PID

Nous allons conserver le PID du processus. Dans ce cas, 6472 est le PID du processus lancé.

Vérifier la quantité de CPU qu'il consomme

Nous pouvons voir la quantité de CPU consommée par le processus que nous venons de lancer, en utilisant le commande «top» dans le même terminal:

top script folie

top

Comme on peut le voir dans la capture d'écran ci-dessus, le processus wastecpu.sh consomme plus de 96% d'utilisation du processeur. Puisqu'il consomme beaucoup de CPU, il est difficile d'exécuter d'autres tâches. Après quelques minutes, le système pourrait planter ou geler. C'est là que CPULimt vient à notre aide.

Limitation de l'utilisation du processeur par PID

Maintenant, limitons l'utilisation du processeur de ce processus à l'aide de l'outil CPULimit. Nous allons limiter l'utilisation du CPU à 35% au moyen de son PID correspondant (environ). Pour ce faire, exécutez:

cpulimit -l 35 -p 6472 &
  • L'option "-l 35»Limite le processus à environ 35%.
  • «-p 6472»Est le PID de derrochecpu.sh que nous avons vu auparavant.

Vérification de l'effet de CPULimit

Une fois la commande précédente lancée, revoyons l'utilisation du processeur du processus. Pour cela, nous utiliserons à nouveau la commande top:

top script CPULimit le gaspillage

top

Comme vous pouvez le voir dans l'image ci-dessus, l'utilisation du processeur de wastefulcpu.sh a chuté à 35,6%, ce qui est très proche de 35%. Maintenant nous pouvons avoir plus de ressources CPU pour exécuter d'autres processus.

Limitation de l'utilisation du processeur par nom de fichier

Nous avons vu comment limiter un processus utilisant le PID. Aussi on peut exécuter la commande CPULimit en spécifiant le nom du fichier programme exécutable.

Par exemple, le même exemple ci-dessus serait:

cpulimit -l 30 ./derrochecpu.sh &

CPULimit peut être utile lors de l'exécution d'un processus qui consomme trop de CPU. La prochaine fois que nous remarquerons qu'un programme consomme trop de CPU, nous devrons simplement trouver le PID du processus à l'aide de la commande «top«. Lorsque vous l'avez, il vous suffit de limiter votre utilisation du processeur à une valeur minimale à l'aide de la commande CPULimit comme décrit dans cet article.

Désinstaller CPULimit

Supprimer cet outil de notre système est aussi simple que d'ouvrir un terminal (Ctrl + Alt + T) et de le saisir:

sudo apt remove cpulimit

Ce que cet article a décrit c'est juste un exemple. Évidemment, aucune personne sensée ne lancera un script comme celui décrit ici sur son propre ordinateur.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   jav dit

    Salut
    Il est parfait pour un vieux PC que j'ai avec un amd64 x2 qui semble avoir un problème de refroidissement et lorsqu'un processus consomme beaucoup de CPU pendant plusieurs minutes, il chauffe jusqu'à 100 ° C et s'arrête.
    Ainsi, quand je vois qu'un processus (généralement certains sites Web ou programmes de rendu vidéo) me fait augmenter la température du processeur, j'utiliserai cpulimit pour supprimer la "puissance" de ce processus.
    merci