Comment imposer un test de charge et de contrainte CPU élevé sur Linux à l'aide de l'outil «Stress-ng»

Comment imposer un test de charge et de contrainte CPU élevé sur Linux à l'aide de l'outil «Stress-ng»

Comme un Administrateur du système, Vous voudrez peut-être examiner et surveiller l'état de vos systèmes Linux lorsqu'ils sont soumis à une forte charge. Cela peut être un bon moyen pour les administrateurs système et les programmeurs pour:

  1. Activités de reprise sur un système.
  2. Surveiller les interfaces du noyau du système d'exploitation.
  3. Testez vos composants matériels Linux tels que le CPU, la mémoire, les dispositifs de disque et bien d'autres pour observer leurs performances sous le stress.
  4. Mesurer différentes charges consommatrices d'énergie sur un système.
Test de contrainte de charge du processeur Linux avec outil de contrainte-ng

Dans ce guide, nous examinerons deux outils importants, stress et stress-ng pour les tests de stress sous vos systèmes Linux.

1. stress - est un outil de générateur de charge de travail conçu pour soumettre votre système à une mesure configurable de CPU, de mémoire, d'E / S et de contrainte de disque.

2. stress-ng - est une version mise à jour de l'outil de générateur de charge de travail de contrainte qui teste votre système pour les fonctionnalités suivantes:

  1. Calcul du processeur
  2. stress conducteur
  3. Synchronisation d'E / S
  4. Pipe E / S
  5. battement de cache
  6. Stress VM
  7. stress scellant
  8. Création et résiliation de processus
  9. Propriétés de commutation de contexte

Bien que ces outils soient bons pour examiner votre système, ils ne devraient pas simplement être utilisés par un utilisateur du système.

Important: Il est fortement recommandé d'utiliser ces outils avec les privilèges de l'utilisateur racine, car ils peuvent souligner votre machine Linux si rapidement et éviter certaines erreurs système sur un matériel mal conçu.

Comment installer l'outil «stress» dans Linux

Pour installer l'outil de stress sur Debian et ses dérivés tels Ubuntu et menthe, Exécutez la commande suivante.

$ sudo apt-get stress 

Pour installer une contrainte sur un Rhel/ /Centos et Feutre Linux, vous devez activer le référentiel EPEL, puis saisir la commande yum suivante pour installer la même chose:

# Yum Install Stress 

La syntaxe générale pour l'utilisation stress est:

Argument de l'option de stress de Sudo $ 

Quelques options que vous pouvez utiliser stress.

  1. Frayer N Les travailleurs tournant sur la fonction sqrt (), utilisez le -CPU n option comme suit.
  2. Frayer N les travailleurs tournant sur la fonction sync (), utilisez le -io n option comme suit.
  3. Frayer N Les travailleurs tournant sur les fonctions malloc () / free (), utilisent le -VM N option.
  4. Pour allouer la mémoire par travailleur VM, utilisez le -VM-octets n option.
  5. Au lieu de libérer et de réaffecter les ressources de mémoire, vous pouvez redémarrer la mémoire en utilisant le -gardien de VM option.
  6. Dors sur N quelques secondes avant de libérer de la mémoire en utilisant le -VM-Hang n option.
  7. Pour Spawn n Les travailleurs tournant sur les fonctions écrits () / unlink (), utilisent le -HDD N option.
  8. Vous pouvez définir un délai d'attente après N secondes en utilisant le -Timeout n option.
  9. Définir un facteur d'attente N microsecondes avant que tout travail commence par utiliser le -Backoff n option comme suit.
  10. Pour afficher des informations plus détaillées lors de l'exécution du stress, utilisez le -V option.
  11. Utiliser -aider Pour voir l'aide pour utiliser le stress ou voir la page manchette.

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 le durée de la baisse commande et noter la moyenne de chargement.

Ensuite, exécutez le stress commander pour engendrer 8 travailleurs qui tournent SQRT () avec un délai de 20 secondes. Après avoir exécuté du stress, exécutez à nouveau le durée de la baisse commander et comparer la moyenne de chargement.

[Protégé par e-mail] ~ $ durée de la baisse [Protégé par e-mail] ~ $ Stress sudo --cpu 8 - timeout 20 [Protégé par e-mail] ~ $ durée de la baisse 
Échantillon de sortie
[Protégé par e-mail] ~ $ durée de la baisse 17:20:00 Up 7:51, 2 utilisateurs, Moyenne de chargement: 1.91, 2.16, 1.93 [<-- Watch Load Average]] [Protégé par e-mail] ~ $ Stress sudo --cpu 8 - timeout 20 Stress: Info: [17246] Discatting Hogs: 8 CPU, 0 IO, 0 VM, 0 HDD Stress: Info: [17246] Run réussi terminé en 21 [Protégé par e-mail] ~ $ durée de la baisse 17:20:24 Up 7:51, 2 utilisateurs, Moyenne de chargement: 5.14, 2.88, 2.17 [<-- Watch Load Average]] 

2. Pour engendrer 8 travailleurs qui tournent sur sqrt () avec un délai de temps 30 secondes, montrant des informations détaillées sur l'opération, exécutez cette commande:

[Protégé par e-mail] ~ $ durée de la baisse [Protégé par e-mail] ~ $ Stress sudo - CPU 8 -V - Timeout 30S [Protégé par e-mail] ~ $ durée de la baisse 
Échantillon de sortie
[Protégé par e-mail] ~ $ durée de la baisse 17:27:25 Up 7:58, 2 utilisateurs, Moyenne de chargement: 1.40, 1.90, 1.98 [<-- Watch Load Average]] [Protégé par e-mail] ~ $ Stress sudo - CPU 8 -V - Timeout 30S Stress: Info: [17353] Discatting HOGS: 8 CPU, 0 IO, 0 VM, 0 HDD Stress: DBUG: [17353] Utilisation du sommeil Backoff de 24 000 US Stress: DBUG: [17353] Délai de délai de 30S: DBUG: [17353 ] -> HOGCPU Worker 8 [17354] Stress fourchu: DBUG: [17353] Utilisation du sommeil de recul du stress 21000 US: DBUG: [17353] Définition du délai de stress 30s: DBUG: [17353] -> HOGCPU Worker 7 [17355] Contrainte fourchue: DBUG: [17353] Utilisation du sommeil de recul du stress 18000 US: DBUG: [17353] Définition du délai de délai de 30S: DBUG: [17353] -> Hogcpu Worker 6 [17356] Stress fourchu: DBUG: [17353] Sleep of 15000US Stress: DBUG: [17353] Définir le délai de délai de 30S: DBUG: [17353] -> Hogcpu Worker 5 [17357] Stress à fourche: DBUG: [17353] en utilisant le sommeil de retour du stress 12000 US: DBUG: [17353] Délai de délai de délai de stress 30s: DBUG: [17353] -> HOGCPU Worker 4 [17358] Stress fourchu: DBUG: [17353] en utilisant le sommeil de backoff de 9000US Stress:DBUG: [17353] Définir le délai de temps de stress 30s: DBUG: [17353] -> HOGCPU Worker 3 [17359] Stress fourchu: DBUG: [17353] en utilisant le sommeil de recul du stress 6000 US: DBUG: [17353] Délai de délai de stress des années 30S: DBUG: [17353] : DBUG: [17353] -> HOGCPU Worker 2 [17360] Stress fourchu: DBUG: [17353] Utilisation du sommeil Backoff du stress 3000U Travailleur 1 [17361] Stress à fourche: DBUG: [17353] [Protégé par e-mail] ~ $ durée de la baisse 17:27:59 Up 7:59, 2 utilisateurs, Moyenne de chargement: 5.41, 2.82, 2.28 [<-- Watch Load Average]] 

3. À Spwan un travailleur de malloc () et gratuit() fonctions avec un délai de 60 secondes, exécutez la commande suivante.

[Protégé par e-mail] ~ $ durée de la baisse [Protégé par e-mail] ~ $ Sudo Stress --vm 1 - Timeout 60s [Protégé par e-mail] ~ $ durée de la baisse 
Échantillon de sortie
[Protégé par e-mail] ~ $ durée de la baisse 17:34:07 Up 8:05, 2 utilisateurs, Moyenne de chargement: 1.54, 2.04, 2.11 [<-- Watch Load Average]] [Protégé par e-mail] ~ $ Sudo Stress --vm 1 - Timeout 60s Stress: Info: [17420] Discatting Hogs: 0 CPU, 0 IO, 1 VM, 0 HDD Stress: Info: [17420] Run réussi terminé dans les années 60 [Protégé par e-mail] ~ $ durée de la baisse 17:35:20 Up 8:06, 2 utilisateurs, Moyenne de chargement: 2.45, 2.24, 2.17 [<-- Watch Load Average]] 

4. Pour Spwan 4 travailleurs qui tournent sur SQRT (), 2 travailleurs Spwaning sur sync (), 2 travailleurs sur malloc () / free (), avec un temps sur 20 secondes et allouer un souvenir de 256 Mo par ouvrier VM, exécutez cette commande ci-dessous.

[Protégé par e-mail] ~ $ durée de la baisse [Protégé par e-mail] ~ $ Sudo Stress --CPU 4 --io 3 --vm 2 --vm-octets 256m - Timeout 20s [Protégé par e-mail] ~ $ durée de la baisse 
Échantillon de sortie
[Protégé par e-mail] ~ $ durée de la baisse 17:40:33 Up 8:12, 2 utilisateurs, Moyenne de chargement: 1.68, 1.84, 2.02 [<-- Watch Load Average]] [Protégé par e-mail] ~ $ Sudo Stress --CPU 4 --io 3 --vm 2 --vm-octets 256m - Timeout 20s Stress: Info: [17501] Discatting Hogs: 4 CPU, 3 IO, 2 VM, 0 HDD Stress: Info: [17501] Une course réussie terminée dans les années 20 [Protégé par e-mail] ~ $ durée de la baisse 17:40:58 Up 8:12, 2 utilisateurs, Moyenne de chargement: 4.63, 2.54, 2.24 [<-- Watch Load Average]] 
Pages: 1 2