← retour aux snippets

ionice: prioriser les entrées/sorties disque

Limiter l'impact I/O de tâches batch avec classes best-effort/idle.

bash process #ionice#io#disk

objectif

Éviter de perturber la production en assignant une classe I/O réduite aux jobs de fond.

code minimal

# classe idle (n'utilise le disque que lorsqu'il est inactif)
ionice -c3 rsync -a --delete /data/ /backup/

utilisation

# best-effort niveau 7 (le plus faible de la classe)
ionice -c2 -n7 tar -I 'zstd -T0 -3' -cf backup.tar.zst /data

# combiner CPU et I/O
ionice -c2 -n7 nice -n 15 make -j2

variante(s) utile(s)

# appliquer à un PID existant
sudo ionice -c2 -n7 -p 12345

notes

  • nécessite BFQ/CFQ; sur certaines distros avec mq-deadline, l’effet peut être limité.
  • classe 1 (real-time) à éviter sauf cas très spécifiques.
  • combinez avec rsync --bwlimit pour limiter le réseau aussi.