Vous avez tous rencontré des problèmes quand votre système swap trop ? oui, moi aussi
/!\ ATTENTION : ne vous lancez pas dans les manipulations qui suivent si vous ne les comprenez pas et n´êtes pas capable d´enlever vos modifications en cas de problème au lancement de votre distribution.
Il existe une solution pour améliorer les performances de votre swap. Vous avez besoin de au moins deux disques dur.
L´astuce consiste à créer au moins deux partitions de swap, c´est à dire une sur chaque disque dur.
Après, on joue sur la priorité des partition swap.
Par exemple, si votre première partition swap est en priorité 1 et que la deuxième est en priorité 2, linux utilisera la deuxième swap que si la première est pleine.
En assignant la même priorité aux deux partitions swap, lorsque le système devra écrire par exemple 3Mo en swap, il écrira 1.5Mo sur la 1ère swap et 1.5Mo sur la deuxième swap.
En admettant qu´il n´y ait aucun accès sur les disques dur, l´écriture ira logiquement deux fois plus vite et de même pour la lecture en tirant parti des capacités des deux disques dur.
Vous pouvez aussi éviter de créer une swap sur le disque dur accueillant votre partition système linux, pour éviter au maximum les accès à des secteurs différents sur le même disque dur et ainsi éviter des déplacements de têtes de lecture inutiles qui augmenteront les temps d´accès aux binaires et fichiers nécessaires à l´exécution des programmes.
Après on peut faire des mega hit combo avec au moins 3 disques durs.
Attention à ne pas créer de swap sur un disque dur trop lent, sinon l´effet sera inverse.
Passons à la pratique B)
Tout d´abord, créez deux partitions swap (avec cfdisk ou mkswap), je vous laisse faire.
Chez moi, ces deux partitions swap sont sur /dev/sda2 et /dev/hda2.
On va spécifier la priorité 0 des swap dans le fichier /etc/fstab. Remplacez donc vos lignes de swap par quelque chose comme ça :
/dev/sda2 swap swap defaults,pri=0 0 0
/dev/hda2 swap swap defaults,pri=0 0 0
Et oui, c´est aussi simple que ça.
Au prochain boot, la commande cat /proc/swap devra répondre quelquechose de ce genre :
scullder@gentoo ~ $ cat /proc/swaps
Filename Type Size Used Priority
/dev/sda2 partition 522072 152 0
/dev/hda2 partition 586364 156 0
Comme on peut le voir ici, j´ai swappé de 300ko qui ont bien été réparti sur les deux swap. On retrouve un peu l´effet d´un raid.
J´ai pas encore fait de comparaison, mais maintenant mon système (1Go de ram, amd64 3000+) reste utilisable avec 300Mo de swap utilisés, voire plus mais on sent le ralentissement quand même
.
C´est particulièrement intéressant si comme moi vous êtes sous gentoo et que votre système swap souvent pendant les compilations.
Voilà, bon test et cassez pas tout 