OVH Cloud OVH Cloud

memoire virtuelle

1 réponse
Avatar
yggep21
bonjour a tous voila des fois j'ai un icone jaune ds le bas de mon pc qui me
dis que la memoire virtuelle est pleine qu'est ce que sa veut dire moi je
connais pas grand chose et je me demande si on peut vider cette memoire ou
bien si s'est utile merci bcq de vos reponses essayez de me repondre pas avec
des mots trop compliqué je suis sur xp familiale merci bcq a bientot

1 réponse

Avatar
Jean-Claude BELLAMY
Dans le message :,
yggep21 a pris la peine d'écrire ce qui
suit :
bonjour a tous voila des fois j'ai un icone jaune ds le bas de mon pc
qui me dis que la memoire virtuelle est pleine qu'est ce que sa veut
dire moi je connais pas grand chose et je me demande si on peut vider
cette memoire ou bien si s'est utile merci bcq de vos reponses
essayez de me repondre pas avec des mots trop compliqué je suis sur
xp familiale merci bcq a bientot


Rappel sur la gestion de la mémoire dans Windows NT (toutes versions) :
L'ensemble RAM + Fichier(s) de swap constitue la "Mémoire virtuelle", dans
laquelle sont chargés codes et données.
NB: souvent, par abus de langage, on croit que la mémoire virtuelle est
synonyme de swap uniquement. Or cette appellation désigne en réalité
l'ensemble RAM+SWAP. Mais même Microsoft fait parfois la confusion !

L'enchainement des opérations de swap sont les suivantes :

1) Lancement d'une nouvelle appli.
(ou nouvelle action à l'intérieur d'une appli existante)
Soudain, RAM insuffisante !
Le microprocesseur constate qu'une (ou plusieurs) page(s)
de 4ko nécessaires n'existe pas en mémoire vive.
Il génère alors (via une "exception", sorte d'interruption)
une "défaillance de page", transmise au gestionnaire de
mémoire ("VMM" = Virtual Machine Manager),

2) Le VMM déclenche alors une copie de page de 4ko de la
RAM (affectée à une appli en arrière plan) vers le disque
(fichier) de swap.

3) Les 4ko de RAM ainsi libérés sont récupérés
pour la nouvelle appli

Et si on a besoin de revenir à l'ancienne appli qui a été mise en
arrière-plan pendant ce temps :

4) Copie d'une page de 4k en RAM (d'une autre appli
en arrière plan) vers le disque

5) Récupération de ces 4ko en RAM pour recopie depuis
le disque des 4ko copiés à l'étape 2

6) Exécution en RAM du code contenu dans cette page

NB: Le terme "erreur de page", ou encore "défaillance de page" ("page fault"
en anglais) ne désigne pas un dysfonctionnement.
Ce n'est pas réellement une "faute" (ou défaut), mais au contraire cela fait
partie de la gestion mémoire.
En d'autres termes :
Chaque fois qu'une page du fichier de swap est demandée en RAM, le VMM
procède à un échange (swap) entre :
- cette page demandée (au départ sur disque)
et
- une autre page (au départ en RAM), moins
"urgente" que la première (parce qu'appartenant
à une appli en arrière-plan à cet instant).

Cette autre page sera donc RECOPIÉE de la RAM vers le disque.

Au passage, parler d'émulation de mémoire (comme on le voit parfois écrit)
est un abus de langage!

A tout instant les instructions binaires des différents programmes (applis
et système) ont TOUJOURS lieu dans la RAM (physique, en silicium!).
P.ex., si on possède de 512 Mo de RAM + 300 Mo de swap, soit AU TOTAL de 812
Mo de mémoire virtuelle, les traitements RÉELS (opérés par le
microprocesseur) n'ont lieu A TOUT MOMENT que dans 512 Mo de RAM.


L'injurebox de "mémoire virtuelle insuffisante" signifie qu'il n'y a pas
assez de RAM+SWAP
Comme on ne peut pas augmenter (immédiatement) la RAM , cela concerne le
swap (fichier(s) de pagination)

On a alors plusieurs solutions :

1) si cela apparait fortuitement, sans se répéter,
on peut réduire le nombre d'applications fonctionnant
en même temps, en en fermant une (ou plus)

2) si l'erreur se répète, c'est que la taille du (des) fichier(s)
de swap est insuffisante.
Il faut donc l'augmenter.
Cela se paramètre depuis le panneau de config système.
onglet "Avancé"
Pour un lancement direct exécuter la commande :
SYSDM.CPL @0,3
bouton "Paramètres" de la zone Performances
onglet "Avancé"
bouton "Modifier" de la zone "Mémoire virtuelle"

On a 2 possibilités :
2.1) on coche "taille gérée par le système"
Comme son nom l'indique, c'est Windows
qui va se charger de déterminer à tout moment
la taille de fichier nécessaire.
Ce n'est pas forcément optimal, mais pour un
débutant, c'est la solution "agricole".

2.2) On coche "taille personnalisée", après avoir
sélectionné la partition voulue (en fonction
de l'espace libre)
Mais ici la valeur optimale se détermine
expérimentalement. (cf. ci-dessous)
A éviter si on ne s'y connait pas des masses !


-----------------------------------
Pour définir rationnellement la quantité de swap, il suffit d'observer la
valeur du pic de mémoire dans le gestionnaire de tâches (TASKMGR.EXE), en
fonction des applications lancées au cours d'une assez longue période..

P.ex. :
512 Mo de RAM
850 Mo de pic
On soustrait la quantité de RAM installée, et on arrondit le résultat
-> 300 Mo


Cette valeur va être le POINT DE DÉPART (approximatif) d'une itération
expérimentale :


1 - On fixe le swap à cette valeur (300 Mo ici)


2 - On lance les applis habituelles (IE, Word, PSP,..)
et on travaille avec.


3 - Est-ce que ça passe ?
(pas d'injurebox de mémoire insuffisante)
-> 2 cas de figure possibles :


4a- OUI
Au choix,
4a1 - on laisse comme çà, c'est fini
4a2 - on diminue le swap de 10%,
on reboote,
on retourne en 2
4b- NON
On augmente le swap de 10 %
on reboote,
on retourne en 2


Ce n'est qu'ainsi qu'on aura déterminé le swap OPTIMAL!
-----------------------------------


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr