Présentation générale
Dans un environnement où les ressources du serveur sont limitées, l’exécution de tâches en arrière-plan ou de scripts de traitement par lots intensifs peut ralentir le temps de réponse des services critiques. Dans cet article, nous explorerons des conseils pratiques pour configurer la priorité d’ordonnancement du CPU et préserver la stabilité du système à l’aide des commandes nice et renice.
1. Vérification de la priorité des processus (NI/PR) et configuration de l’environnement de surveillance htop
Installez les paquets indispensables htop et procps pour les exercices pratiques de surveillance de la priorité des processus.

La commande ps permet de vérifier les informations détaillées ainsi que la valeur de priorité des processus actuellement en cours d’exécution sur le système.
Dans les résultats affichés, NI correspond à la valeur nice réglable par l’utilisateur, et PRI indique la priorité réelle attribuée par l’ordonnanceur du noyau.
⚙️ [Options principales]
-e : Sélectionne et affiche tous les processus en cours d’exécution sur le système.-o : Définit un format de sortie personnalisé pour les colonnes à afficher (pid, ni, pri, comm, etc.).-u : Filtre et affiche uniquement les processus appartenant à un utilisateur spécifique.-p : Interroge uniquement les processus correspondant au PID (identifiant de processus) spécifié.-f : Affiche une liste au format complet incluant tous les détails des processus.

2. Exécuter une tâche en arrière-plan avec une priorité basse à l’aide de la commande nice
Créez un répertoire de travail temporaire et déplacez-vous à cet endroit afin de générer et de gérer en toute sécurité les fichiers de test nécessaires à la manipulation.

Lancez une tâche de génération de fichier volumineux en arrière-plan (&) en réduisant sa priorité avec la commande nice, en lui attribuant une valeur nice de 10 afin de céder l’utilisation des ressources CPU.

Associez la commande ps à grep pour vérifier le PID du processus dd en cours d’exécution ainsi que la valeur nice (NI) réellement appliquée, afin de confirmer qu’elle correspond à ce qui était prévu.

3. Modifier en temps réel la priorité d’un processus en cours d’exécution avec la commande renice
Pour tester la modification de priorité en temps réel, lancez un processus sleep configuré pour attendre 300 secondes en arrière-plan (&).

Enregistrez dans la variable d’environnement TARGET_PID l’identifiant du dernier processus lancé en arrière-plan à l’aide de la variable spéciale $!.

Vérifiez la valeur nice actuelle (NI) du processus cible avec la commande ps, et constatez qu’il s’exécute avec la valeur par défaut 0.

Utilisez la commande renice pour modifier la valeur nice du processus cible déjà en cours d’exécution à 15, réduisant ainsi sa priorité.
La sortie confirme que l’ancienne priorité (old priority 0) a bien été remplacée par la nouvelle priorité (new priority 15).

Interrogez à nouveau le processus cible avec la commande ps pour vérifier que la valeur nice (NI) de 15 a été prise en compte immédiatement.

Une fois l’exercice terminé, forcez l’arrêt du processus de test (kill -9) afin de libérer les ressources du système.

4. Attribution d’une priorité élevée (nice négatif) avec les privilèges root et points d’attention
Afin d’appliquer une valeur nice négative (-5), inaccessible à un utilisateur standard, lancez en arrière-plan (&) un processus avec une priorité augmentée en utilisant les privilèges d’administration sudo.
Un processus auquel est attribuée une valeur nice négative bénéficie d’une priorité d’exécution supérieure lors de l’ordonnancement CPU, lui permettant ainsi d’obtenir une part accrue des ressources système.

Affichez les processus en cours d’exécution à l’aide de la commande ps pour vérifier que la valeur nice (NI) du processus cible (sleep) a bien été fixée à -5.
Dans le résultat, vous pouvez confirmer que, contrairement aux processus standards par défaut (0), une valeur nice négative (-5) est appliquée, traduisant un fonctionnement à priorité élevée.

Nous avons passé en revue la manière d’ajuster la priorité des processus à l’aide de la commande nice, une méthode très utile lorsque votre serveur Linux ralentit.
Lorsque les ressources du serveur viennent à manquer, appliquez des priorités adaptées à la situation pour maintenir un système plus stable et plus fluide.