Recherche de site Web

Comment tester votre processeur Linux pour une charge élevée


Si vous êtes administrateur système, il est important d’examiner et de surveiller l’état de vos systèmes Linux lorsqu’ils sont soumis à de lourdes charges de travail.

Cela peut être un bon moyen pour les administrateurs système et les programmeurs de :

  • Affinez les activités d’un système.
  • Surveillez les interfaces du noyau du système d’exploitation.
  • testez vos composants matériels Linux tels que le processeur, la mémoire, les périphériques de disque et bien d’autres pour observer leurs performances sous contrainte.
  • Mesurer les différentes charges consommatrices d’énergie d’un système.

Dans ce guide, nous allons explorer deux outils importants, stress et stress-ng, pour effectuer des tests de stress sur vos systèmes Linux.

Outils de test de stress Linux : stress et stress-ng

stress et stress-ng sont des outils essentiels pour évaluer et tester les performances des systèmes Linux dans diverses conditions.

Outil de stress

stress est un outil simple mais puissant conçu pour imposer une quantité configurable de CPU, de mémoire, d’E/S ou de stress de disque sur un système Linux. En simulant de lourdes charges de travail, les administrateurs peuvent observer comment le système réagit sous pression.

Cet outil est précieux pour identifier les faiblesses potentielles et s’assurer que le système peut gérer des tâches exigeantes sans compromettre les performances.

Outil stress-ng

stress-ng, une version étendue de stress, va au-delà des fonctionnalités de base de son prédécesseur. Il fournit une gamme plus large de tests de contrainte, couvrant non seulement le CPU, la mémoire, les E/S et les contraintes de disque, mais incorporant également des tests supplémentaires pour des éléments tels que la communication inter-processus, les sockets et diverses opérations de fichiers.

Le stress et le stress contribuent de manière significative à la gestion proactive des systèmes Linux, permettant aux administrateurs et aux programmeurs d’optimiser les configurations du système, d’identifier les problèmes potentiels et d’améliorer la fiabilité globale du système.

Important : Il est fortement recommandé d’utiliser ces outils avec des privilèges d’utilisateur root car ils peuvent solliciter votre machine Linux très rapidement et éviter certaines erreurs système sur du matériel mal conçu.

Comment installer l’outil 'stress' sous Linux

Pour installer stress sur Linux, utilisez la commande appropriée suivante pour votre distribution Linux spécifique.

sudo apt install stress         [On Debian, Ubuntu and Mint]
sudo yum install stress         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/stress  [On Gentoo Linux]
sudo apk add stress             [On Alpine Linux]
sudo pacman -S stress           [On Arch Linux]
sudo zypper install stress      [On OpenSUSE]    
sudo pkg install stress         [On FreeBSD]

La syntaxe générale d’utilisation de l’accent est la suivante :

sudo stress option argument

Quelques options que vous pouvez utiliser avec le stress.

  • Pour générer N workers tournant sur la fonction sqrt(), utilisez l’option --cpu N.
  • Pour générer N workers tournant sur la fonction sync(), utilisez l’option --io N.
  • Pour générer N workers tournant sur les fonctions malloc()/free(), utilisez l’option --vm N.
  • Pour allouer de la mémoire par worker vm, utilisez l’option N --vm-bytes.
  • Au lieu de libérer et de réallouer des ressources mémoire, vous pouvez réaffecter la mémoire à l’aide de l’option --vm-keep.
  • Définissez sleep sur N secondes avant de libérer de la mémoire à l’aide de l’option --vm-hang N.
  • Pour générer N workers tournant sur les fonctions write()/unlink(), utilisez l’option --hdd N.
  • Vous pouvez définir un délai d’expiration après N secondes à l’aide de l’option --timeout N.
  • Définissez un facteur d’attente de N microsecondes avant le début du travail à l’aide de l’option --backoff N.
  • Pour afficher des informations plus détaillées lors de l’exécution de la contrainte, utilisez l’option -v.
  • Utilisez --help pour afficher l’aide sur l’utilisation de stress ou la page de manuel.

Comment utiliser le stress sur les systèmes Linux ?

1. Pour examiner l’effet de la commande à chaque fois que vous l’exécutez, exécutez d’abord la commande uptime et notez la moyenne de charge.

Ensuite, exécutez la commande stress pour faire apparaître 8 workers tournant sur sqrt() avec un délai d’attente de 20 secondes. Après avoir exécuté stress, exécutez à nouveau la commande uptime et comparez la moyenne de charge.

uptime
sudo stress --cpu 8 --timeout 20
uptime

2. Pour faire apparaître 8 workers tournant sur sqrt() avec un délai d’attente de 30 secondes, montrant des informations détaillées sur l’opération, exécutez cette commande :

uptime
sudo stress --cpu 8 -v --timeout 30s
uptime

3. Pour générer un worker des fonctions malloc() et free() avec un délai d’expiration de 60 secondes, exécutez la commande suivante.

uptime
sudo stress --vm 1 --timeout 60s
uptime

4. Pour générer 4 workers tournant sur sqrt(), 2 workers spwaning sur sync(), 2 workers sur malloc()/free(), avec un délai d’attente de 20 secondes et allouer une mémoire de 256 Mo par worker vm, exécutez cette commande ci-dessous.

uptime
sudo stress --cpu 4 --io 3 --vm 2 --vm-bytes 256M --timeout 20s
uptime

Comment installer l’outil 'stress-ng' sous Linux

Pour installer stress-ng sur Linux, utilisez la commande suivante appropriée pour votre distribution Linux spécifique.

sudo apt install stress-ng         [On Debian, Ubuntu and Mint]
sudo yum install stress-ng         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/stress-ng  [On Gentoo Linux]
sudo apk add stress-ng             [On Alpine Linux]
sudo pacman -S stress-ng           [On Arch Linux]
sudo zypper install stress-ng      [On OpenSUSE]    
sudo pkg install stress-ng         [On FreeBSD]

La syntaxe générale d’utilisation de stress-ng est la suivante :

sudo stress-ng option argument

Voici quelques-unes des options que vous pouvez utiliser avec stress-ng :

  • Pour démarrer N instances de chaque test de résistance, utilisez l’option –all N comme suit.
  • Pour démarrer N processus afin d’exercer le processeur en parcourant séquentiellement toutes les différentes méthodes de test de contrainte du processeur, utilisez l’option –cpu N comme suit.
  • Pour utiliser une méthode de test de contrainte CPU donnée, utilisez l’option –cpu-method. Il existe de nombreuses méthodes disponibles que vous pouvez utiliser, pour afficher la page de manuel pour voir toutes les méthodes à utiliser.
  • Pour arrêter le processus de stress du processeur après N opérations bogo, utilisez l’option -cpu-ops N.
  • Pour démarrer les processus de test de contrainte N I/O, utilisez l’option –io N.
  • Pour arrêter les processus de contrainte io après N opérations bogo, utilisez l’option -io-ops N.
  • Pour démarrer les processus de test de contrainte N vm, utilisez l’option –vm N.
  • Pour spécifier la quantité de mémoire par processus vm, utilisez l’option N –vm-bytes.
  • Pour arrêter les processus de contrainte vm après des opérations N bogo, utilisez les options -vm-ops N
  • Utilisez l’option –hdd N pour démarrer les processus d’exercice de N disques durs.
  • Pour arrêter les processus de contrainte hdd après N opérations bogo, utilisez l’option N –hdd-ops.
  • Vous pouvez définir un délai d’expiration après N secondes à l’aide de l’option –timeout N.
  • Pour générer un rapport récapitulatif après les opérations bogo, vous pouvez utiliser les options –metrics ou –metrics-brief. Le –metrics-brief affiche les mesures non nulles.
  • Vous pouvez également démarrer N processus qui créeront et supprimeront des répertoires à l’aide de mkdir et rmdir à l’aide de l’option –dir N.
  • Pour arrêter les processus d’opérations d’annuaire, utilisez les options -dir-ops N.
  • Pour démarrer N processus consommateurs de CPU qui exerceront les niveaux de gentillesse actuels, incluez le
  • –belle option N. Lors de l’utilisation de cette option, chaque itération dédoublera d’un processus fils qui passe par tous les différents niveaux agréables en exécutant une boucle occupée pendant 0,1 seconde par niveau, puis se termine.
  • Pour arrêter les boucles nice, utilisez l’option N –nice-ops comme suit.
  • Pour démarrer N processus qui modifient les bits de mode de fichier via chmod(2) et fchmod(2) sur le même fichier, utilisez l’option –chmod N. N’oubliez pas que plus la valeur de N est élevée, plus il y a de contention sur le fichier. Le stresseur va travailler à travers toutes les combinaisons de bits de mode que vous spécifiez avec chmod(2).
  • Vous pouvez arrêter les opérations chmod à l’aide de l’option N –chmod-ops.
  • Vous pouvez utiliser l’option -v pour afficher plus d’informations sur les opérations en cours.
  • Utilisez -h pour afficher l’aide de stress-ng.

Comment utiliser 'stress-ng' dans les systèmes Linux ?

1. Exécuter 8 facteurs de stress du processeur avec un délai d’attente de 60 secondes et un résumé à la fin des opérations.

uptime
sudo stress-ng --cpu 8 --timeout 60 --metrics-brief
uptime

2. Pour exécuter 4 facteurs de stress CPU FFT avec un délai d’expiration de 2 minutes.

uptime
sudo stress-ng --cpu 4 --cpu-method fft --timeout 2m
uptime

3. Pour exécuter 5 facteurs de stress HDD et arrêter après 100000 opérations bogo, exécutez cette commande.

uptime
sudo stress-ng --hdd 5 --hdd-ops 100000
uptime

4. Pour exécuter 8 facteurs de stress de processeur, 4 facteurs de stress d’E/S et 1 facteur de stress de mémoire virtuelle en utilisant 1 Go de mémoire virtuelle pendant une minute, exécutez cette commande ci-dessous.

uptime
sudo stress-ng --cpu 4 --io 4 --vm 1 --vm-bytes 1G --timeout 60s --metrics-brief
uptime

Résumé

Comme recommandé, ces outils doivent être utilisés avec des privilèges de super-utilisateur car ils ont certains effets sur le système. Ces outils sont bons pour l’administration générale du système sous Linux.

J’espère que ce guide vous a été utile et si vous avez des idées supplémentaires sur la façon de tester l’état de santé de votre système à l’aide de ces outils ou de tout autre outil, n’hésitez pas à poster un commentaire.

Restez toujours connecté à Tecmint, apprenez et partagez des idées au profit de l’open source.

Articles connexes: