Lancer un programme en basse priorité CPU et I/O disque
Il arrive qu'on veuille lancer certaines opérations lourdes en arrière plan sans ralentir les autres logiciels. Par exemple:
- Copie de fichiers
- Backups
- Indexation (updatedb par exemple).
C'est tout à fait possible avec nice et ionice.
- nice permet de réduire la priorité d'un processus sur le CPU
- ionice permet de réduire la priorité d'un processus sur les accès disque.
Lancer un programme
ionice -c3 nice -n15 monprogramme
Le programme ainsi lancé ne pourra consommer du CPU et faire des accès disque que quand aucun autre programme n'en a besoin.
Dans un script shell
Placez au début de votre script shell:
#!/bin/sh ionice -c3 -p$$ renice +15 -p $$
Le shell aura sa priorité réduite (et donc aussi tous les programmes lancés à partir de ce shell).
C'est utile par exemple dans les scripts lancé dans /etc/cron.*
(Typiquement, vous pouvez ajouter ces lignes dans votre script /etc/cron.daily/slocate)
Note
- nice et renice peuvent être utilisés par tout le monde
- ionice avec -c3 ne peut être utilisé que par root.
Liens
Cet article a été inspiré par: Why aren’t you using ionice yet ?
Ce document intitulé « Lancer un programme en basse priorité CPU et I/O disque » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.