Menu
Donnez votre avis

Lancer un programme en basse priorité CPU et I/O disque

Posez votre question
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 ?
Ajouter un commentaire

Commentaires

Commenter la réponse de Utilisateur anonyme