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

Re: Terminologie relative aux mémoires



Le lundi 28 février 2011 à 16:03:52, Luxpopuli Open source a 
écrit :
> Bonjour,

’soir,

> J'étudie ce que renvoie la commande sar
> 
> Dans le man de cette commande et pour l'option -S (Swap) on
> lit:
> 
> *kbswpcad*     Amount  of  cached  swap memory in kilobytes. 
> This is memory that once was swapped out, is swapped back in
> but still also is in the swap area (if memory is needed it
> doesn't need to be swapped out again because it is already
> in the swap area. This saves I/O).
> 
> Quelqu'un peut-il m'expliquer:
> 
>    1. qu'est-ce que du swap caché ?
>    2. comment comprendre «swapped out» et «swapped in» ?
> Perso je comprends: "swapped out = lu depuis la swap" et
> "swapped in = écrit dans le swap"
>   3. je ne comprends pas du tout: it doesn't need to be
> *swapped out* again *because it is* already *in the swap area*
> ????? (comme si le fait d'être dans l'espace de swap évitait
> de devoir être lu depuis cet espace)

  C’est l’inverse :
    /swapped out/ = sorti de la RAM vers le swap
    /swapped in/ = sorti du swap vers la RAM, entré en RAM

  Sorti du swap, donc remis en entier en mémoire vive. Pas 
seulement « lu », car une fois en mémoire, une nouvelle lecture 
se fera dans la mémoire, pas dans le swap.
  En revanche, ça ne servirait à rien de l’effacer du swap. Donc 
on l’y laisse (en le marquant comme « laissé là parce qu’on est 
fainéant ») et comme cela on n’aura pas à l’y remettre quand on 
devra le reswapper-out, on modifiera juste l’index pour le 
réactiver.
  Donc c’est du swap qui est aussi en RAM. Le swap, c’est un 
fichier, et quand un fichier est en RAM, on dit qu’il est en 
cache/caché. Donc c’est du swap caché.

> Dans la partie du man consacrée à l'option -r on lit:
> 
> kbbuffers  Amount of memory used as buffers by the kernel in
> kilobytes.
> 
> kbcached  Amount of memory used to cache data by the kernel
> in kilobytes.
> 
> Quelle différence y a t-il entre l'utilisation de ces deux
> mémoires ?

  cache = (en particulier) des fichiers ; données placées en 
mémoire pour éviter de perdre du temps à les re-récupérer à 
chaque fois qu’on en a besoin.

  buffer = tampons ; tout un tas de zones de mémoire 
_intermédiaires_. En général, des données temporaires.
P.ex. tout ce qui est traitement de flux (fichiers, tubes, 
réseau…) : au lieu de traiter immédiatement octet par octet, on 
traite par morceau, à son rythme. Ça sert notamment à gérer les 
délais matériels, pour amortir (comme les tampons de wagons) les 
différences de vitesse entre les deux participants.

  Les tampons sont en général petits (< au Mio, plutôt de 
l’ordre du kio). Le cache fait plusieurs dizaines/centaines de 
Mio.

-- 
 Sylvain Sauvage


Reply to: