Qu'est-ce que nice ?
Sous Linux, la priorité d'un processus est exprimée par sa valeur de 'Niceness'. La commande `nice` exécute un programme en définissant cette valeur.
Comprendre la valeur de Niceness
Plus la valeur est **élevée, plus le processus est 'gentil' (Nice)**. Cela signifie qu'il cède des ressources à d'autres processus.
- Plage: -20 (priorité la plus élevée/égoïste) ~ 19 (priorité la plus basse/généreux)
- Valeur par défaut: 0 (priorité standard)
- Utilisation des valeurs négatives: Augmenter la priorité (valeurs négatives) nécessite les privilèges de l'utilisateur root.
Options principales (Shell)
S'utilise en combinant la valeur de priorité (`-n`) et la commande à exécuter.
1. Exécution avec une priorité spécifiée
2. Aide
Commande générée :
Essayez de combiner les commandes.
Description:
`nice` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples de scénarios d'utilisation
Modèles utilisés en pratique pour gérer la charge du système.
Exécuter une sauvegarde avec une faible priorité (céder des ressources)
nice -n 10 tar -czf backup.tar.gz /var/www
Lors de l'exécution d'une tâche de compression volumineuse (`tar`), on augmente la valeur nice à 10 (pour céder des ressources) afin d'éviter que d'autres services importants comme les serveurs web ne soient ralentis.
Exécuter avec une très faible priorité
nice -n 19 ./heavy_computation.sh
En attribuant la valeur maximale de 19, on s'assure que le processus n'utilise le CPU que lorsque le système est inactif.
Exécuter avec une priorité élevée (nécessite les privilèges root)
sudo nice -n -10 ./critical_service
Accorde une priorité élevée (-10) à un processus important pour qu'il préempte le CPU. La définition de valeurs négatives nécessite `sudo`.
Attention à la notation
nice -n -5 command
L'option `-` et le signe négatif `-` peuvent se ressembler, comme dans `-10`. `nice -10` est une ancienne notation pour `nice -n 10` (positif 10), il est donc préférable de spécifier `-n` pour éviter toute confusion.
Installation
nice est une commande de base incluse dans 'GNU Coreutils' et est préinstallée sur presque toutes les distributions Linux.
Vérification de l'installation
Peut être utilisé immédiatement sans installation séparée.
Astuces et précautions
nice vs renice
Comprenez bien la différence entre ces deux commandes.
- nice: Attribue une priorité lorsqu'une commande est **démarrée pour la première fois**.
- renice: Modifie la priorité d'un processus (**déjà en cours d'exécution**) (PID).
- Comment vérifier: Vous pouvez vérifier la valeur nice d'un processus actuel en regardant la colonne `NI` dans `top` ou `htop`.