Trucs de geek : nice

Aucun rapport avec la ville. Cette commande administrateur permet d'indiquer au système la priorité avec laquelle le processus va revenir en traitement. En effet un programme quand il est lancé crée un processus (il est chargé en mémoire puis exécuté par le processeur). Ce processus est exécuté jusqu'à ce qu'il soit interrompu parce que par exemple il a demandé une lecture d'un fichier sur le disque dur. Comme c'est une opération extrêmement longue, le processeur peut faire autre chose en attendant. Le processus se retrouve alors dans une fille d'attente avec les autres. Il reviendra qu'à deux conditions : la lecture du fichier est terminée et le système le choisit (l'élit) afin bénéficier des traitements réalisés par le processeur.

Sur la lecture on ne peut rien faire. Par contre on peut indiquer au sheduleur (la partie du système qui choisit qui va se remettre au travail) si l'on souhaite que notre processus revient vite ou non. Pour cela on utilise la commande : nice.

Cette commande prend un seul paramètre : le niveau de priorité. Celui ci va de 19 (pas du tout prioritaire) à 20 (y a urgence).

Donc si vous voulez lancer un programme qui ne doit pas trop vous bloquer (il n'y a rien de plus agançant qu'un ordinateur qui ne travaille plus pour vous), vous pouvez faire comme ça :

# sudo nice -n 19 apt-get upgrade

Ce processus ne sera exécuté que lorsqu'il n'y aura rien d'autre à faire.

Si vous n'avez pas lancé le programme avec cette commande, vous pouvez encore récupérer le coup par la commande : renice

renice -n 19 -p 5426

Le no indiqué correspond au pid du processus que vous pouvez récupérer via la commande top ou ps par exemple.

Il existe une commande qui permet d'indiquer au système que le processus lancé aura plus ou moins de priorité dans ses lectures / écritures sur les disques : ionice (pour I/O nice naturellement).

Exemple pour un processus sans priorité :

# sudo ionice -n 0 nice -n 19 apt-get upgrade

Fait le 07/01/2014

Tags: