Comment changer la priorité des processus sous Linux avec nice et renice
Linux vous permet d'exécuter de nombreux processus sur une seule machine sans perdre de temps. Parfois, un processus intensif peut ralentir votre système. Ne serait-ce pas génial s'il y avait un moyen de le mettre en veilleuse lorsque vous continuez avec d'autres tâches? Vous pouvez, avec un utilitaire appelé nice.
Jouer bien avec les processus
Nice est un utilitaire intégré aux systèmes Linux et Unix qui peut réduire la priorité CPU d'un processus. Cet utilitaire est un artefact de l'époque où Unix fonctionnait sur des mini-ordinateurs et des mainframes multi-utilisateurs, mais il est toujours utile aujourd'hui sur des postes de travail mono-utilisateur.
Vous jouez peut-être à un jeu et rencontrez un retard à cause d'un processus intensif dont vous savez qu'il faudra beaucoup de temps pour obtenir la sortie, comme un client torrent . Réaffectez-le simplement à l'arrière-plan et continuez à jouer.
Nice est soit un programme autonome, soit intégré au shell. Pour déterminer quel est le cas sur votre système, tapez:
which nice
Sur Ubuntu, la version de nice installée est la version GNU .
Nice utilise le concept de "joli nombre", qui est la priorité de processus de tout processus. Sur la version GNU, il va de 19 à -20. Les nombres négatifs donnent plus de priorité au processus, tandis que les nombres positifs en donnent moins. Vous pouvez voir ce joli numéro comme la colonne NI dans des utilitaires comme top ou htop .
Pour exécuter un processus avec une priorité inférieure, utilisez cette commande:
nice processname
Remplacez processname par le processus que vous souhaitez exécuter. Par défaut, nice attribuera le joli nombre de 10. Tous les processus démarrés normalement seront par défaut à 0.
Si vous voulez un nombre spécifique, dans ce cas, la priorité minimale absolue, utilisez l'option -n avec le joli numéro que vous voulez:
nice -n 19 processname
Modification de la priorité des processus avec renice
Vous pouvez désormais démarrer des commandes avec une priorité réduite, mais qu'en est-il de la modification de la priorité des processus en cours d'exécution? Vous pouvez le faire aussi avec un autre utilitaire, renice.
Vous aurez besoin du PID, ou ID de processus, du processus que vous souhaitez modifier. Vous pouvez trouver cela en utilisant la commande ps , top ou htop. Une fois que vous avez trouvé cela, il vous suffit de le transmettre à la commande renice.
Pour définir un nouveau numéro sympa pour votre PID, tapez:
renice priority PID
… où la priorité est le joli numéro que vous souhaitez utiliser.
L'indicateur -n modifie la priorité du processus de l'incrément que vous avez mentionné, positif ou négatif, donc si vous aviez un processus qui était à 10 et que vous vouliez le changer en 8, tapez:
sudo renice -n -2 PID
Seul le superutilisateur peut renommer des processus appartenant à un autre utilisateur ou augmenter la priorité d'un processus. Vous pouvez utiliser le commutateur -u suivi du nom d' utilisateur pour ajuster la priorité de n'importe quel utilisateur:
renice priority -u username
Vous pouvez désormais modifier les priorités de processus pour obtenir les meilleures performances
Avec nice et renice, vous pouvez changer la priorité de n'importe quel processus sous Linux. Cela vous aidera sûrement dans les moments où un processus lourd consomme une énorme partie de vos ressources système. En outre, l'optimisation des performances de votre système avec des outils de surveillance tels que Stacer peut être utile.