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
nicepour démarrer un nouveau processussleep 600en 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
sudopour 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 600que vous avez démarré à l'étape précédente. - Utilisez la commande
renicepour changer sa priorité vers une priorité plus basse, avec une valeur nice de5. - Vérifiez le nouveau niveau de priorité à l'aide de la commande
ps.
Exigences
- Le processus cible est le processus
sleep 600de l'étape précédente. - La nouvelle valeur nice doit être
5. - Vous devez utiliser
sudopour modifier la priorité du processus (puisqu'il a été démarré avecsudoet 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.



