Comment tester le stress de votre CPU sous Linux
On janvier 25, 2022 by adminIl y a de nombreuses raisons pour lesquelles vous pouvez vouloir tester le stress du CPU sur votre système Linux. Vous pouvez vouloir voir comment votre système d’exploitation et votre matériel se comportent lorsque vous êtes à pleine utilisation du CPU afin de repérer les bugs logiciels ou les défaillances matérielles. Vous pouvez également vouloir générer rapidement beaucoup de chaleur pour résoudre un problème de température sur votre machine ; la maximisation de l’utilisation du CPU vous permettra de le faire. Quelle que soit la raison, il existe un moyen rapide et facile d’atteindre cet objectif.
Dans ce tutoriel, vous apprendrez :
- Comment effectuer des tests de stress sur le CPU en utilisant le test de stress yes
- Comment effectuer des tests de stress sur le CPU en utilisant la commande stress
- Comment effectuer des tests de stress sur le CPU en utilisant la commande s-.tui
Conditions requises pour les logiciels et conventions utilisées
Catégorie | Conditions requises, Conventions ou version de logiciel utilisée |
---|---|
Système | Distribution-indépendante |
Les logiciels | yes, getconf, seq, bash, stress, s-tui |
Autres | Aucun privilège root n’est requis pour le test de stress yes. Un accès privilégié à votre système Linux en tant que root ou via la commande sudo peut être nécessaire pour installer d’autres paquets de test de résistance. |
Conventions | # – nécessite que les commandes linux données soient exécutées avec les privilèges root, soit directement en tant qu’utilisateur root, soit par l’utilisation de la commande sudo $ -. exige que les commandes linux données soient exécutées en tant qu’utilisateur ordinaire non privilégié |
Scénario d’utilisation
Le test de stress oui détaillé dans cet article peut être très utile à des fins de dépannage. Fréquemment, les problèmes intermittents ne deviennent reproductibles que lorsque le système est soumis à une forte charge, parfois pendant une période prolongée. Vous pouvez vous trouver dans une situation où votre machine, ou celle dont vous assurez la maintenance pour un utilisateur, connaît des arrêts inattendus, des paniques du noyau ou d’autres problèmes intermittents. Dans cette situation, vous pouvez essayer de reproduire le problème. Dans ce cas, vous pourriez exécuter la commande suivante pour tester le processeur sous contrainte, rendant le problème plus susceptible de se produire, et donc observable pour vous.
Après avoir pris des mesures pour remédier à la situation, comme la désinstallation de logiciels, la réinstallation de logiciels, y compris le système d’exploitation, ou le remplacement de composants matériels, vous pourriez exécuter à nouveau la commande pour déterminer si elle a résolu ou non le problème.
Oui Stress Test
Ce one-liner créera un processus yes
à exécuter sur chaque cœur de processeur de la machine. yes
imprime la lettre y
de manière répétée jusqu’à ce qu’il soit tué. Sur un système inactif, chaque processus yes utilisera 100% d’un cœur de processeur. Si le processeur supporte l’hyper-threading et qu’il est activé, alors il créera deux fois plus de processus, car cela est nécessaire pour maximiser pleinement l’utilisation du CPU.
L’avantage de cette approche est qu’elle ne nécessite que des utilitaires standard qui sortent de la boîte sur les systèmes GNU/Linux, donc aucune installation de programmes ou de bibliothèques supplémentaires n’est nécessaire. De plus, il n’est pas nécessaire d’avoir les privilèges de root pour l’exécuter. Pour commencer, entrez la commande suivante dans votre terminal.
$ for i in $(seq $(getconf _NPROCESSORS_ONLN)); do yes > /dev/null & done
L’Institut géophysique de l’UAF, est à la recherche d’un analyste de systèmes Linux expérimenté pour rejoindre son équipe d’analystes et d’ingénieurs en cyber-infrastructure de recherche. LOCALISATION : Fairbanks, Alaska, USA
APPLY NOW
Décomposons exactement ce que fait ce monologue. getconf _NPROCESSORS_ONLN
obtient le nombre de cœurs du processeur ; y compris les virtuels pour les processeurs avec hyper-threading. L’exécution de la commande dans $()
place sa sortie comme argument de la commande seq
. seq $(getconf _NPROCESSORS_ONLN)
imprime une séquence de nombres de 1 jusqu’à la quantité de cœurs de CPU virtuels présents dans le système. Exécuter cela dans $()
permet d’utiliser cette séquence de chiffres dans notre boucle for bash.
Enfin, la boucle for elle-même, for i in $(seq $(getconf _NPROCESSORS_ONLN)); do yes > /dev/null & done
prend la séquence de nombres de 1 jusqu’à la quantité de cœurs virtuels et pour chacun d’entre eux démarre un processus yes et redirige sa sortie vers /dev/null
.
Lorsque vous exécutez cette commande, il est conseillé d’utiliser top
, htop
ou un autre programme pour surveiller l’utilisation du processeur afin de vérifier qu’elle atteint 100%. Nous avons précédemment publié un article sur la façon de vérifier et de surveiller l’utilisation du cpu sur linux.
Lorsque vous voulez arrêter les processus yes
et revenir à une utilisation normale du CPU, il suffit d’entrer ce qui suit dans votre terminal.
$ killall yes
Autres méthodes de test de stress du CPU
Stress
Stress est un générateur de charge de travail simple qui impose une quantité configurable de stress sur le système. En plus de pouvoir tester le stress du CPU, il est également capable d’effectuer un stress de mémoire, d’E/S et de disque sur un système.
Sur Arch Linux et Manjaro, il peut être installé avec la commande suivante.
$ pacman -S stress
Sur Debian, Ubuntu et Mint, il peut être installé avec la commande suivante.
$ sudo apt install stress
Sur les distros basées sur RHEL, il peut être installé avec la commande suivante après avoir activé le dépôt Extra Packages for Enterprise Linux (EPEL)
$ sudo yum install stress
Pour effectuer un test de stress avec stress
, il suffit d’entrer la commande suivante où le nombre utilisé dans --cpu
est la quantité de threads à démarrer. Pour stresser complètement le processeur, cela devrait être le nombre total de cœurs du processeur ou le double si le processeur supporte l’hyper-threading. Vous pouvez obtenir le nombre approprié à utiliser en entrant getconf _NPROCESSORS_ONLN
. Dans notre exemple, nous effectuons le test de stress sur un quadruple cœur i7 qui supporte l’hyper-threading, nous utilisons donc 8.
$ stress --cpu 8
S-tui
s-tui
est une interface utilisateur textuelle frontale pour la commande stress
. En plus d’exécuter le test de stress effectué par stress
, s-tui
surveille également la température, la fréquence, la puissance et l’utilisation du CPU tout en affichant des graphiques correspondant à chaque valeur dans le terminal. s-tui
peut être installé sur toutes les distributions en utilisant pip. Pour ce faire, entrez la commande suivante.
$ pip install s-tui --user
Pour exécuter le test de stress, entrez la commande s-tui
dans votre terminal, puis appuyez sur la flèche vers le bas (ou la touche j) et sur la touche entrée pour passer du mode monitor
au mode stress
. Vous verrez une représentation graphique similaire à la capture d’écran suivante.
Conclusion
Dans cet article, nous avons vu comment maximiser l’utilisation du processeur sur votre système Linux en utilisant la commande yes
dans une boucle bash
for pour effectuer un « test de stress oui ». Nous avons ensuite décomposé chaque partie de la commande pour voir exactement ce qu’elle faisait et comment elle fonctionnait. Nous avons discuté de la surveillance de l’utilisation du CPU pour vérifier qu’elle atteint 100%, puis nous avons vu comment installer et utiliser stress
et s-tui
pour effectuer un test de stress du CPU.
L’avantage d’utiliser s-tui
est que vous êtes en mesure de surveiller les performances sans utiliser de logiciel supplémentaire. L’avantage d’utiliser le « yes stress test » est que vous êtes en mesure d’effectuer le test de stress sans avoir à installer de logiciel supplémentaire. Si vous cherchez à exécuter des tests de stress plus étendus et des analyses comparatives sur votre système Linux, alors notre article sur la façon d’évaluer votre système linux vous couvre.
Laisser un commentaire