Ionice
ionice comme pour nice avec le CPU permet à de mettre un bémol sur le nombre d'entrées/sorties(E/S) disque (lecture et écriture) que fait un processus. C'est particulièrement utile sur les commandes qui utilisent intensivement le système de fichiers.
Un
# ionice -c3 find . | grep choupette
sera bien plus confortable qu'un :
$ nice -19 find . | grep choupette
ici l'option -c3 indique à l'OS de n'autoriser les E/S au processus que pendant les périodes de calme. Cela améliore grandement la réactivité des autres processus de votre système qui font pas mal d'E/S
accélerer vos sauvegardes / backups
Vos sauvegardes avec rsync peuvent etre accelerées où freinées avec ionice.
Liste des classes priorités proposées par ionice :
- idle : un processus avec la priorité d'E/S idle ne saura autorisée qu'à accéder au disque si aucun processus avec priorités best-effort ou plus utilise le système de fichier.
- best-effort : priorité à défaut pour tous les processus.
- real-time : priorité la plus élevée d'E/S, le processus accédera à coup sur au système de fichier.
Les options de la commande :
-c<#> priorité d'E/S : 1 real time, 2 best-effort, 3 idle -n<#> numero de priorité entre 0 et 7 dans les classes real-time et best effort -p<#> pid d'un processus en cours d'exécution
Exemples :
Pour calmer un processus qui vous fait bien ramer la machine (son pid est 666).
# ionice -c3 -p666
Accelerer un script de backup de fichiers en faisant en plus un renice dans la même commande, ici le renice est de 15 :
# ionice -c2 -n15 /home/toto/monscriptquifaitcouinerledisque.sh
Voir la priorité en cours d'un processus (pid est 777)
# ionice -p777 none: prio 0
zieuter vos stats sans mettre à genoux la machine
Vous avez un serveur pourri qui se traine genre dedibox de base et n'importe lequel truc cloudé ? ionice vous permet de zieuter des stats sans empêcher vos service de tourner à plein régime :
/var/log/apache2$ ionice -c3 zcat www.bricosoft.com-access.log.*gz |grep bot 95.108.154.251 - - [08/Jan/2012:07:51:27 +0100] "GET /robots.txt HTTP/1.1" 404 527 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 95.108.154.251 - - [08/Jan/2012:09:27:51 +0100] "GET / HTTP/1.1" 200 838 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 91.64.188.115 - - [09/Jan/2012:14:40:21 +0100] "GET /robots.txt HTTP/1.0" 404 493 "-" "Mozilla/5.0 (compatible; MJ12bot/v1.4.1; http://www.majestic12.co.uk/bot.php?+)" 91.64.188.115 - - [09/Jan/2012:14:40:22 +0100] "GET / HTTP/1.0" 200 773 "-" "Mozilla/5.0 (compatible; MJ12bot/v1.4.1; http://www.majestic12.co.uk/bot.php?+)" 95.108.154.251 - - [10/Jan/2012:07:45:57 +0100] "GET /robots.txt HTTP/1.1" 404 527 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 95.108.154.251 - - [10/Jan/2012:13:11:08 +0100] "GET / HTTP/1.1" 200 838 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)" 66.249.66.43 - - [12/Jan/2012:02:46:14 +0100] "GET /robots.txt HTTP/1.1" 404 496 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" 66.249.71.26 - - [12/Jan/2012:02:46:15 +0100] "GET / HTTP/1.1" 200 836 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" 96.2.82.137 - - [12/Jan/2012:17:37:30 +0100] "GET /robots.txt HTTP/1.0" 404 493 "-" "Mozilla/5.0 (compatible; MJ12bot/v1.4.1; http://www.majestic12.co.uk/bot.php?+)" 96.2.82.137 - - [12/Jan/2012:17:37:32 +0100] "GET / HTTP/1.1" 200 1078 "-" "Mozilla/5.0 (compatible; MJ12bot/v1.4.1; http://www.majestic12.co.uk/bot.php?+)" ...
Voir aussi
Allez vous rancarder du coté de l'ordonnancement d'un OS si vous voulez en savoir plus.