GNU/Linux >> Tutoriels Linux >  >> Linux

Comment définir la priorité des processus Linux à l'aide des commandes nice et renice

Nice est un utilitaire de ligne de commande sous Linux qui vous permet de définir la valeur de « gentillesse » des processus. Il est utilisé pour démarrer un processus avec une priorité définie. Lorsque vous démarrez un programme ou un processus sans aucune priorité définie, nice définit une priorité par défaut de 10. Une gentillesse de 19 est la priorité la plus basse tandis que -20 est la priorité la plus élevée. La commande nice est très utile lorsque plusieurs processus demandent plus de ressources que le CPU ne peut en fournir.

Renice est très similaire à nice et est utilisé pour changer la priorité d'un processus déjà en cours d'exécution. Si votre système fonctionne très lentement en raison d'un long processus, vous pouvez réduire ou augmenter la priorité de ce processus à l'aide de la commande renice.

La priorité est une valeur que vous pouvez attribuer à chaque processus, et le noyau utilise cette valeur pour planifier l'exécution du processus.

  • 0-99 est la valeur de priorité utilisée pour les affectations de priorité en temps réel.
  • 100-139 est la valeur de priorité attribuée par les utilisateurs.

Dans cet article, nous vous montrerons comment définir la priorité des processus Linux avec les commandes Nice et renice.

Prérequis

  • Un serveur Linux sur la plate-forme cloud Atlantic.Net
  • Un mot de passe root configuré sur votre serveur

Étape 1 - Créer un serveur cloud Atlantic.Net

Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Ubuntu, CentOS ou Rocky Linux comme système d'exploitation avec au moins 2 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.

Une fois connecté à votre serveur, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.

apt-get update -y

Ou

dnf update -y

Étape 2 – Afficher la valeur intéressante d'un processus

Sous Linux, lorsque vous démarrez un processus ou un programme, il obtient la priorité par défaut de 0.

Vous pouvez utiliser la commande ps ou top pour afficher la priorité d'un processus en cours d'exécution.

Pour vérifier la valeur Nice du processus Nginx, exécutez la commande suivante :

ps -fl -C nginx

Vous devriez voir la priorité du processus Nginx dans la colonne NI comme indiqué ci-dessous :

F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
5 S www-data  3156  3155  0  80   0 - 21700 -      10:33 ?        00:00:00 nginx: worker process

Pour afficher la valeur nice de tous les processus en cours d'exécution, utilisez la commande top :

top

Vous devriez voir la valeur nice de tous les processus dans la colonne NI.

Étape 3 - Modifier la priorité du processus avec Nice Command

La commande nice ne peut pas changer la priorité du processus en cours d'exécution. Cependant, vous pouvez utiliser la commande nice pour démarrer n'importe quel programme avec une priorité prédéfinie.

Par exemple, démarrez un programme top avec une jolie valeur 5 :

nice -5 top

Cela attribuera la valeur de priorité de 5 au sommet.

Maintenant, ouvrez un autre terminal et vérifiez la priorité pour le haut comme indiqué ci-dessous :

ps -fl -C top

Vous devriez voir la priorité de la commande du haut dans la colonne NI :

F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S vyom      7966  7277  0  85   5 -  7323 poll_s 11:41 pts/14   00:00:00 top

Vous n'avez pas besoin des privilèges root lorsque vous définissez une valeur de priorité supérieure à 0. Vous aurez besoin des privilèges root si vous souhaitez augmenter la priorité d'un processus en lui attribuant une valeur négative.

Par exemple, pour augmenter la priorité de la commande top à -20, utilisez la commande suivante :

sudo nice --20 top

Étape 4 - Modifier la priorité du processus d'exécution avec la commande renice

Comme vous le savez, la commande nice ne peut pas modifier la priorité d'un processus en cours d'exécution. Dans ce cas, vous devrez utiliser la commande renice pour modifier la priorité d'un processus en cours d'exécution.

Ici, nous allons utiliser le processus supérieur, qui est déjà en cours d'exécution.

Tout d'abord, vérifiez la priorité actuelle du processus supérieur à l'aide de la commande suivante :

ps -fl -C top

Exemple de sortie :

F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S vyom      7966  7277  0  85   5 -  7323 poll_s 11:41 pts/14   00:00:03 top

Comme vous pouvez le voir, la priorité du processus supérieur est 5.

Maintenant, nous allons changer la priorité du processus supérieur en -15.

Tout d'abord, trouvez le PID du processus supérieur avec la commande suivante :

pidof top

Exemple de sortie :

7966

Maintenant, exécutez la commande suivante en spécifiant la valeur de priorité et le PID du haut :

sudo renice -n -15 -p 7966

Exemple de sortie :

7966 (process ID) old priority 5, new priority -15

Vous pouvez également modifier la priorité de tous les processus appartenant à un utilisateur spécifique.

Par exemple, modifiez la priorité de tous les processus appartenant à l'utilisateur root, exécutez :

sudo renice -n 10 -u root

Conclusion

Dans ce guide, vous avez appris à définir et à modifier la priorité de tout processus à l'aide de la commande nice et renice. Vous pouvez maintenant facilement augmenter et diminuer la priorité du processus selon vos besoins. Commencez à utiliser nice et renice sur votre compte d'hébergement VPS d'Altantic.Net.


Linux
  1. Comment transférer des fichiers entre deux ordinateurs à l'aide des commandes nc et pv

  2. Comment désactiver les commandes d'arrêt et de redémarrage sous Linux

  3. Tutoriel sur les commandes Linux nice et renice (7 exemples)

  4. Comment trouver et tuer le processus Zombie sous Linux

  5. Comment renicer tous les threads (et enfants) d'un processus sous Linux ?

Comment changer la priorité d'un processus sous Linux

Comment utiliser les commandes Pbcopy et Pbpaste sous Linux

Comment suspendre un processus et le reprendre plus tard sous Linux

Nice et Renice - Définir la priorité du processus sous Linux

Comment définir la date et l'heure sous Linux

Comment tuer les processus sous Linux en utilisant kill, killall et pkill