Ajuster l'ordonnancement des processus

Red Hat Enterprise LinuxBeginner
Pratiquer maintenant

Introduction

Dans ce défi, vous allez explorer la gestion de l'ordonnancement des processus sur un système Linux. L'ordonnancement est une fonction clé du système d'exploitation qui détermine quel processus peut utiliser le processeur et pendant combien de temps. En tant qu'administrateur système, vous pouvez influencer cet ordonnancement en ajustant les priorités des processus. Vous utiliserez les commandes nice et renice pour contrôler la priorité des processus, une compétence fondamentale pour optimiser les performances du système et garantir que les applications critiques reçoivent les ressources nécessaires.

Démarrer un processus avec une priorité personnalisée

Sous Linux, chaque processus possède une valeur de "gentillesse" (nice value), qui influence sa priorité d'ordonnancement. Cette valeur varie de -20 (priorité la plus élevée) à 19 (priorité la plus basse). La commande nice vous permet d'exécuter une nouvelle commande avec une valeur spécifique. Notez que seul l'utilisateur root (ou un utilisateur disposant des privilèges sudo) peut définir une valeur négative pour augmenter la priorité d'un processus.

Tâches

  • Utilisez la commande nice pour démarrer un nouveau processus sleep 600 en arrière-plan.
  • Attribuez au nouveau processus une priorité élevée avec une valeur nice de -10.
  • Vérifiez la priorité du nouveau processus à l'aide de la commande ps.

Exigences

  • La commande à exécuter est sleep 600.
  • Le processus doit être démarré avec une valeur nice de -10.
  • Vous devez utiliser sudo pour attribuer une valeur nice négative.
  • Le processus doit être exécuté en arrière-plan afin que vous puissiez continuer à utiliser le terminal.

Exemple

Après avoir démarré le processus, la sortie de ps -e -o pid,ni,comm | grep sleep devrait afficher le processus sleep avec une valeur NI (nice) de -10. Le PID variera.

ps -e -o pid,ni,comm | grep sleep
   2250 -10 sleep

Vous pouvez également utiliser ps -e -o pid,ni,comm pour voir tous les processus et leurs valeurs nice :

  PID  NI COMMAND
    1   0 systemd
 2188   0 bash
 2250 -10 sleep

Ajuster la priorité d'un processus en cours avec renice

Il est parfois nécessaire de modifier la priorité d'un processus déjà en cours d'exécution. Pour cela, vous pouvez utiliser la commande renice. Tout comme pour nice, vous avez besoin des privilèges sudo pour augmenter la priorité (définir une valeur nice plus basse ou plus négative) d'un processus. Vous avez également besoin de sudo pour modifier la priorité d'un processus appartenant à un autre utilisateur, tel que root.

Tâches

  • Trouvez l'identifiant de processus (PID) du processus sleep 600 que vous avez démarré à l'étape précédente.
  • Utilisez la commande renice pour changer sa priorité vers une priorité plus basse, avec une valeur nice de 5.
  • Vérifiez le nouveau niveau de priorité à l'aide de la commande ps.

Exigences

  • Le processus cible est le processus sleep 600 de l'étape précédente.
  • La nouvelle valeur nice doit être 5.
  • Vous devez utiliser sudo pour modifier la priorité du processus (puisqu'il a été démarré avec sudo et appartient à root).

Exemple

Après avoir exécuté la commande renice, la sortie de ps -e -o pid,ni,comm | grep sleep devrait montrer le processus sleep avec une nouvelle valeur NI de 5.

ps -e -o pid,ni,comm | grep sleep
   2250   5 sleep

Vous pouvez également utiliser ps -e -o pid,ni,comm pour voir tous les processus :

  PID  NI COMMAND
    1   0 systemd
 2188   0 bash
 2250   5 sleep

Résumé

Dans ce défi, vous avez appris les bases de l'ajustement des priorités d'ordonnancement des processus sur un système Linux. Vous vous êtes exercé à utiliser la commande nice pour lancer un nouveau processus avec une priorité spécifique et la commande renice pour modifier la priorité d'un processus déjà actif. Vous avez également appris que l'augmentation de la priorité d'un processus (définition d'une valeur nice négative) nécessite des privilèges d'administration (sudo). Ces compétences sont essentielles pour l'administration système et l'optimisation des performances.

✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer