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

Re: Ma swap n'est jamais utilisee!



Le Mardi 09 Janvier 2007 15:19, Pascal Hambourg a écrit :
> Salut,
Bonjour,

> Serge Cavailles a écrit :
> > Le Lundi 08 Janvier 2007 21:26, luna@bzh.net a écrit :
> >>Par contre, le swap ne sert que lorsqu'il n'y a pas assez de ram pour
> >>toutes les applications.
>
> Pas forcément. Le noyau peut aussi décider de swapper des processus (ou
> des pages ?) inactifs afin de libérer de la mémoire pour le cache disque
> s'il estime que c'est plus efficace.

Donc si je comprends bien et d'après le comportement décrit par Giggz, le 
noyau estime que c'est plus efficace pour autant qu'il reste de la ram 
libre. Dès lors que la ram est entièrement allouée, il ne cherche pas à 
swapper des processus au profit du cache disque.

> > oui et non. Les applications (exécutables) ne sont pas les seules
> > concernées. Les données qu'elles manipulent sont aussi en ram ;-)
>
> Application = code + données.
Pas de problème, suffit qu'on soit d'accord sur le terme. 
J'ai repris le terme employé en le précisant en exécutable pour précisément 
dissocier les données, mon but étant de pointer qu'il existe des variations 
d'occupation de la mémoire qui ne sont pas liées au lancement de nouvelles 
applications, mais simplement aux besoins mémoire des applications déjà 
lancées. Les interrogations de luna me donnaient l'impression (peut-être à 
tord, à lui de nous dire) d'une vision qui liait trop directement 
l'occupation mémoire et le nombre d'applis lancées.

> >>Comme sur la machine en question il y a
> >>suffisament de ram pour tout le monde, il n'utilise pas le swap.
> >
> > non. Dans le cas présent il ne s'agit pas d'avoir de la place pour les
> > applis, mais de stocker des données en attente de transmission par le
> > réseau. Le débit entre le disque et l'application étant très supérieur
> > à celui entre l'application et la carte réseau,
>
> Pas toujours. Une interface gigabit ethernet peut débiter plus qu'un
> disque ATA.

Auquel cas la ram ne se remplit pas lors d'un transfert réseau.

> > la mémoire sert de tampon
> > pour les données de l'appli en attente de transmission. Si il y a plus
> > de données en attente de transmission que de ram dispo, on pourrait
> > s'attendre à ce que le swap prenne le relai de la ram, d'où la question
> > de GIGGz.
>
> Tu parles de tampon géré par l'application ou par le noyau ?

Ben je m'étais posé la question de savoir si l'application devait stocker le 
bloc de données en provenance du disque et faire une requète pour chaque 
octet à transmettre, ou si elle passait un pointeur sur le fichier au 
noyau, charge à lui de gérer le reste. Je n'ai pas su y répondre. 
Je pencherai pour la deuxième solution (1 chance sur 2, c'est jouable ;-) ), 
mon tampon étant dans ce cas ce que tu appelles le cache disque (?).

merci
-- 
Serge



Reply to: