Cputool - Limiter et contrôler l'utilisation du processeur de tout processus dans Linux

Cputool - Limiter et contrôler l'utilisation du processeur de tout processus dans Linux

L'une des zones critiques sous la surveillance des performances Linux doit être l'utilisation du processeur et la charge du système. Il existe plusieurs outils de surveillance des performances Linux pour garder un œil sur la façon dont les choses se déroulent sur un système.

Un certain nombre de ces outils produisent simplement l'état du système / les statistiques tandis que quelques autres vous fournissent des moyens de gestion des performances du système. Un tel outil appelé Cputool.

Cputool est un outil de ligne de commande simple mais puissant pour limiter et contrôler l'utilisation du processeur de tout processus à une limite donnée et permet l'interruption de l'exécution du processus si la charge du système dépasse un seuil défini.

Comment fonctionne Cputool?

Afin de limiter l'utilisation du processeur, Cputool envoie le Sigstop et Sigcontte signaux aux processus et cela est déterminé par la charge du système. Il s'appuie sur le pseudo-filesystème du / proc pour lire Pides et leurs mesures d'utilisation du processeur.

Il peut être utilisé pour limiter l'utilisation du processeur ou la charge du système influencé par un seul processus ou un groupe de processus à une limite donnée et / ou à suspendre les processus si la charge du système va au-delà d'un seuil.

Lire suggérée: Comprendre les moyennes de charge Linux et les performances du moniteur de Linux

Installez Cputool pour limiter l'utilisation et la moyenne de la charge du processeur

UN Cputool est uniquement disponible pour installer sur Debian / Ubuntu et ses dérivés à partir des référentiels système par défaut à l'aide de l'outil de gestion des packages.

$ sudo apt install cputool 

Limiter l'utilisation du processeur avec Cuptool

Voyons maintenant comment Cputool fonctionne vraiment. Pour démontrer tout, nous gérerons un Commande DD ce qui devrait entraîner un pourcentage de CPU élevé, en arrière-plan et afficher son PID.

# dd if = / dev / zéro de = / dev / null & 

Pour surveiller l'utilisation du processeur, nous pouvons utiliser les outils supérieurs ou des regards qui nous permettent de visualiser un état régulièrement mis à jour en temps réel d'un processus système Linux en cours d'exécution:

# haut 
Surveiller l'utilisation du processeur de commande DD

De la sortie ci-dessus, nous pouvons voir que Commande DD a le pourcentage le plus élevé de temps de processeur 99.7%) Maintenant, nous pouvons limiter cela à l'aide de Cputool comme indiqué ci-dessous.

Le --processeur ou -c Le drapeau est utilisé pour définir un pourcentage d'utilisation pour un processus ou un groupe de processus et -p Pour spécifier un PID. La commande suivante limitera la commande DD (PID 8275) 50% Utilisation d'un noyau de processeur:

# cputool --cpu-limit 50 -p 8275 

Après avoir exécuté Cputool, nous pouvons vérifier la nouvelle utilisation du processeur pour le processus (PID 8275). Maintenant l'utilisation du processeur pour dd Le processus devrait aller de (49.0% -52.0%).

# haut 
Limiter le processeur CPU à 50% d'utilisation

Pour limiter davantage l'utilisation du processeur de DD à 20%, Nous pouvons exécuter Cputool pour la deuxième fois:

# cputool --cpu-limit 20 -p 8275 

Puis vérifiez immédiatement à l'aide d'outils tels que le haut ou des regards comme celui-ci (l'utilisation du processeur pour dd devrait maintenant aller de 19.0% -22.0% ou légèrement au-delà de cela):

# haut 
Limiter l'utilisation du processeur de processus à 20%

Notez que le shell ne s'attend pas à une entrée utilisateur pendant l'exécution de Cputool; il ne répond donc pas. Pour le tuer (cela mettra fin à l'opération de limitation d'utilisation du CPU), appuyez sur Ctrl + c.

Surtout, pour spécifier un groupe de processus (un programme avec plusieurs instances en cours d'exécution avec un PID distinct), par exemple, le serveur Web HTTP:

# pidof apache2 9592 3643 3642 3641 3640 3638 3637 1780 

Utilisez le -P Flag comme ceci:

# cputool --cpu-limit 20 -p 1780 

Charge du système limitant avec cuptool

Le -l L'option est utilisée pour spécifier la charge maximale, le système peut aller cependant pour que le processus de processus ou de processus continue de fonctionner. Nous pouvons utiliser une valeur fractionnaire (e.g. 2.5).

L'exemple ci-dessous signifie l'exécution de RSYNC pour une sauvegarde locale uniquement lorsque la charge du système ne dépasse pas 3.5:

# cputool --load-limit 3.5 --rsync -av / home / tecmint / backup / 'date +% y-% m-% d' / 

Pour plus d'informations et d'utilisation, consultez la page Cputool Man:

# man cputool 

Consultez les guides utiles pour trouver des informations CPU et la surveillance des performances du CPU:

  1. 9 Commandes utiles pour obtenir des informations CPU sur 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

En conclusion, Cputool est vraiment utile pour la gestion des performances Linux. Partagez vos réflexions sur cet article via le formulaire de rétroaction ci-dessous.