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.