[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: taille du swap



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.



Reply to: