Ionice

De bricosoft
Aller à la navigation Aller à la recherche
<google uid="C08" position="right"></google>
Fichier:Magic-burst-of-speed.jpg
<google uid="C08" position="left"></google>
Erreur dans le widget Twitter Search: unable to write file /home/gbp4dt5/zones/bricosoft.com/www/extensions/Widgets/compiled_templates/wrt693debb83d0741_61478731
Erreur dans le widget Twitter: unable to write file /home/gbp4dt5/zones/bricosoft.com/www/extensions/Widgets/compiled_templates/wrt693debb8445746_29535245

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.


Erreur dans le widget DISQUS: Unable to load template 'wiki:DISQUS'