nice permet de fixer une priorité à une tâche lancée
Pour donner une priorité haute au lancement du script mon_script.sh
nice -n -19 mon_script.sh
Pour donner une priorité basse au lancement du script mon_script.sh
nice -n +19 mon_script.sh
Pour redéfinir la priorité identifier le numéro de processus par la commande ps -ef
puis :
renice -19 8097
8097 étant le numéro de processus
On lance la commande dd if=/dev/zero of=/dev/null
en tâche de fond pour générer de l'utilisation CPU sans fixer de priorité au processus (taskset permet de spécifier le CPU que l'on désire utiliser)
taskset 2 dd if=/dev/zero of=/dev/null &
On lance la commande dd if=/dev/zero of=/dev/null bs=4096 count=1000000
avec une priorité haute
taskset 2 nice -n -19 dd if=/dev/zero of=/dev/null bs=4096 count=1000000
On peut constater que le processus a pu copier 4.1 GB en 1,28s :
1000000+0 records in 1000000+0 records out 4096000000 bytes (4.1 GB) copied, 1.28544 seconds, 3.2 GB/s
On lance la commande dd if=/dev/zero of=/dev/null bs=4096 count=1000000
cette fois avec une priorité basse
taskset 2 nice -n +19 dd if=/dev/zero of=/dev/null bs=4096 count=1000000
On peut constater que le même traitement a été beaucoup plus long, effectivement moins de temps CPU a été alloué pour ce processus.
1000000+0 records in 1000000+0 records out 4096000000 bytes (4.1 GB) copied, 26.8988 seconds, 152 MB/s