Professional Documents
Culture Documents
Vous constaterez que la plupart des processus sont dans la classe none. Selon les documentations
cela connespond -c2 -n4 ou un calcul en fonction de la valeur de nice du preocessus.
Ainsi pour lancer un programme particulirement gourmand je vous conseille quelque chose du
genre
$ nice -n 19 ionice -c2 -n7 /usr/local/monscript
Passons une partie plus technique. Ceci n'est possible que parce que le noyau contient un
scheduler d'io. C'est une innovation rcente. Ce n'est que depuis le 2.6.18 que le scheduler cfq est
prsent par dfaut et c'est le seul qui supporte ces priorits. Mais ce n'est pas le seul exister. Vous
pouvez en compiler plusieurs et en changer soit au boot (avec l'option elevator=) soit aprs le boot
disque par disque avec la commande
$ echo "cfq" > /sys/block/hda/queue/scheduler
Le choix d'un bon scheduler peut influencer les performances de vos serveurs de base de donnes ...
La documentation se trouve dans le rpertoire Documentation/block des sources du noyau.
Changer la priorit d'xecution des processus
Lorsque vous lancez un processus gourmand en ressources, il arrive que vous sachiez d'avance que
celui-ci prendra du temps. Dans ce cas, vous acceptez qu'il ne consomme pas le maximum de
ressources de la machine dont il est capable, pour que celle-ci puisse continuer fonctionner
normalement (rpondre aux commandes shell par exemple).
Si vous tes prvoyants, vous pouvez utiliser la commande nice :
$ nice -n 19 ./poid-lourd
Nice utilise des niveaux de priorit. Ces niveaux sont compris entre -20 (priorit absolue) et +20
(tout le monde passe avant). Les valeurs ngatives ne peuvent tre utilises que par l'utilisateur root.
Pour connatre le nice d'un processus, la commande top affiche la valeur pour chaque processus
dans la colonne NI.
Un processus hrite du nice de son pre par dfaut (en gnral 0 car init est 0). Mais il se peut que
vous vouliez changer cette valeur aprs coup. Pour cela il existe la commande renice :
# 1234 est un pid
$ renice 10 1234
Attention toutefois, un utilisateur normal ne peut qu'augmenter la valeur de nice (et donc rduire la
priorit d'un processus). Seul root peut la rduire (et ventuellement lui donner une valeur
ngative).
Faites attention, utiliser des valeurs ngatives fortes peut bloquer indfiniment votre systme.
Tuning postgresql
The default configuration for PostgreSQL 9.1 needs to be tuned for the amount of data you are
about to add to it. Edit the file /etc/postgresql/9.1/main/postgresql.conf and make the following
changes:
shared_buffers = 128MB
checkpoint_segments = 20
maintenance_work_mem = 256MB
autovacuum = off
These changes require a kernel configuration change, which needs to be applied every time that the
computer is rebooted. As root, edit /etc/sysctl.conf and add these lines near the top after the other
kernel definitions:
# Increase kernel shared memory segments - needed for large databases
kernel.shmmax=268435456