Limiter l'utilisation du processeur d'un processus dans Linux avec l'outil CPULIMIT

Limiter l'utilisation du processeur d'un processus dans Linux avec l'outil CPULIMIT

Dans un article précédent, nous avons expliqué Cputool pour limiter et contrôler l'utilisation du processeur de tout processus dans Linux. Il permet à un administrateur système d'interrompre l'exécution d'un processus (ou d'un groupe de processus) si la charge CPU / système va au-delà d'un seuil défini. Ici, nous apprendrons à utiliser un outil similaire appelé cpumimite.

Cpumimite est utilisé pour restreindre l'utilisation du processeur d'un processus de la même manière que Cputool, Cependant, il offre plus d'options d'utilisation par rapport à son homologue. Une différence importante est que Cpumimit ne gère pas la charge du système contrairement cputool.

Lire suggérée: 9 Commandes utiles pour obtenir des informations CPU sur Linux

Installez CPULIMIT pour limiter l'utilisation du processeur d'un processus dans Linux

Cpumimite est disponible pour installer à partir des référentiels logiciels par défaut de Debian / Ubuntu et ses dérivés à l'aide d'un outil de gestion des packages.

$ sudo apt install cpumimit 

Dans Rhel / centos et Feutre, Vous devez d'abord activer le référentiel EPEL, puis installer cpumimit comme indiqué.

# yum installer EPEL-Release
# yum install cpumimit

Limiter l'utilisation du processeur du processus avec Cuplimit

Dans cette sous-section, nous expliquerons comment Cpumimit fonctionne. Tout d'abord, exécutons une commande (même Commande DD Nous avons examiné tout en couvrant Cputool) qui devrait entraîner un pourcentage de CPU élevé, en arrière-plan (notez que le processus PID est imprimé après avoir exécuté la commande).

$ dd if = / dev / zéro de = / dev / null & [1] 17918 

Ensuite, nous pouvons utiliser les outils supérieurs ou des regards qui sortent l'état réel fréquemment mis à jour d'un système Linux en cours d'exécution, pour regarder l'utilisation du processeur de la commande ci-dessus.

$ top 
Surveiller l'utilisation du processeur dans Linux

En regardant la sortie ci-dessus, nous pouvons voir que le dd Le processus utilise le pourcentage le plus élevé de temps CPU 100.0%.

Mais nous pouvons limiter cela en utilisant Cputlimit comme suit. Le --piquer ou -p L'option est utilisée pour spécifier le PID et --limite ou -l est utilisé pour définir un pourcentage d'utilisation pour un processus.

La commande ci-dessous limitera le Commande DD (PID 17918) pour 50% Utilisation d'un noyau de processeur.

$ sudo Cpumimit --PID 17918 - Limit 50 Processus 17918 détecté 

Une fois que nous exécutons CPULIMIT, nous pouvons afficher l'utilisation actuelle du processeur pour le Commande DD avec un haut ou des regards. De la sortie, la valeur varie de (51.5% -55.0% ou légèrement au-delà).

Limiter l'utilisation du procédé du processeur dans Linux

Nous pouvons étrangler son utilisation du processeur pour la deuxième fois comme suit, ce qui réduit le pourcentage davantage comme suit:

$ sudo Cpumimit --PID 17918 - Limit 20 Processus 17918 détecté 

Comme nous l'avons fait auparavant, nous pouvons exécuter en haut ou des regards pour afficher la nouvelle utilisation du processeur pour le processus, qui va de 20% -25.0% ou un peu au-delà de cela.

$ top 
Utilisation du processeur de gaz dans Linux

Note: Le shell devient non interactif - ne s'attend pas à une entrée utilisateur lorsque Cpumimit s'exécute. Pour le tuer (qui devrait arrêter l'opération de limitation d'utilisation du CPU), appuyez sur [Ctrl + C].

Pour exécuter cpumimit comme processus d'arrière-plan, utilisez le --arrière-plan ou -b changer, libérer le terminal.

$ sudo Cpumimit --Pid 17918 --Limit 20 - Background 

Pour spécifier le nombre de cœurs de CPU présents sur le système, utilisez le --CPU ou -c Flag (Ceci est normalement détecté automatiquement).

$ sudo Cpumimit --Pid 17918 --Limit 20 --cpu 4 

Plutôt que de limiter l'utilisation du processeur d'un processus, nous pouvons le tuer avec le --tuer ou -k option. La valeur par défaut est le signal envoyé au processus est Sigcontte, Mais pour envoyer un signal différent, utilisez le --signal ou -s drapeau.

$ sudo Cpumimit --Pid 17918 --Limit 20 - Kill 

Pour quitter s'il n'y a pas de processus cible approprié, ou au cas où il meurt, incluez le -z ou --paresseux comme ça.

$ sudo Cpumimit --Pid 17918 --Limit 20 --kill --paresseux 

Pour plus d'informations et d'options d'utilisation, consultez la page Cpumimit Man.

$ man cpumimit 

Consultez les guides utiles suivants pour trouver des informations CPU et une surveillance des performances du processeur / système.

  1. Trouver les processus de fonctionnement supérieur par la mémoire la plus élevée et l'utilisation du processeur dans Linux
  2. Cpustat - surveille l'utilisation du processeur par les processus en cours d'exécution dans Linux
  3. CoreFreq - Un puissant outil de surveillance du processeur pour les systèmes Linux
  4. Trouver les processus de fonctionnement supérieur par la mémoire la plus élevée et l'utilisation du processeur dans Linux
  5. 20 outils de ligne de commande pour surveiller les performances Linux
  6. 13 outils de surveillance des performances Linux - Partie 2

En comparaison, après avoir testé Cputool et Cpumimite, Nous avons remarqué que le premier offre une fonctionnalité plus efficace et fiable de «processus d'utilisation du processeur».

C'est selon la gamme de pourcentage d'utilisation du processeur observée après avoir exécuté les deux outils contre un processus donné. Essayez les deux outils et ajoutez vos réflexions à cet article en utilisant le formulaire de rétroaction ci-dessous.