Le 13496ième jour après Epoch, Arnaud Feltz écrivait: > Gaëtan PERRIER a écrit : >> Bonjour, >> >> Avec 1Gio de Ram qu'elle taille de swap faut-il? >> >> Merci. >> >> Gaëtan >> >> >> > Bonjour, > > Normalement la taille du swap doit être le double de la taille de ta > Ram
Ah bon? Moi je dirais que cette assertion est totalement fausse. L'idéal est de n'avoir aucun swap. Comme ça ta machine swappe pas. Le "swap" permet d'étendre la mémoire virtuelle de ta machine, et aussi dans certains cas de se débarasser de choses inutiles en mémoire. Il y a plusieurs mécanismes de swap, mettant ou non en jeu l'espace disque nommé swap. En voici quelques uns: - Le swap-out de code: Si la taille mémoire réelle de ta machine est insuffisante, ou bien que certains morceaux de code de programmes sont peu utilisés, le système va les "virer" de la mémoire (swap out), et saura les relire depuis l'exécutable au besoin. - Le swap-in swap-out de données: Dans le cas où il est nécessaire d'avoir plus de mémoire réelle pour un process donné, le système va stocker en zone de swap des zones de donnée de certains process (les moins utilisées), pour se faire de la place pour le process gourmand. - Le même, vu du process gourmand: Si le process gourmand veut vraiment beaucoup de mémoire (manipulation de gros volumes), alors le système va lui étendre la mémoire réelle dans le swap, et charger les pages à la demande. C'est ce dernier mécanisme qui est en général le plus gourmand, car il nécessite un maximum d'accès disques pour des traitement en mémoire. Tu peux voir ce mécanisme à l'oeuvre en faisant un petit prog qui va allouer plus de mémoire que la taille réelle, et en parcourant cette zone pour en incrémenter chaque octet. Ton disque sera alors une guirlande de noël. Pour tailler ton swap de façon correcte, il faut à peu près estimer les process qui vont tourner, leurs besoins en mémoire, mais surtout faire du monitoring avec des choses comme munin. Perso, ma machine consomme à peu près 100M de swap, mais ne "swappe" presque pas. Ça donne de la place aux buffers/cache. J'espère t'avoir éclairé un peu.

