memoire virtuelle paginee...

Le
Olivier
Bonjour,



Suite à un problème rencontrés sur des serveurs windows 2003, j'essaie de
comprendre la façon dont la mémoire est gérée et j'avoue que malgré
plusieurs recherche via google, ce n'est pas clair.



Dans gestionnaire de tâche en faisant apparaitre certaines colonnes :
exemple pour le processus:
iexplore
Util mémoire : 49 385 Ko
Taille Mv : 57 824 Ko
Réserve paginée 187 Ko
Réserve Non paginée 25 Ko



1° Quelqu'un peut il m'expliquer ce que sont réserve paginée et réserve non
paginée. Définition trouvée : Mémoire pour le

noyau du processusj'ai du mal à comprendre ce que c'est.





2° Quand on parle de Taille MV = mémoire virtuelle il s'agit bien de la
mémoire dans le fichier d'echange et non la somme

des deux (Swap+ram) ? Le logiciel Aida par exemple affiche la MV comme cette
somme.
Pourtant dans l'exemple du dessus IE consomme bien 49 385Ko de RAM + 57 824
Ko dans le fichier d'échange ?
Si vous me répondez que les 49 Mo sont compris dans les 57 Mo, regardez dans
vos processus et vous verrez que sur certains

processsus "Util mémoire" et plus élevé que "Taille MV", donc MV ne peut la
contenir.





3° Dans l'onglet performances comment définiriez vous Cache système ?
définition trouvée : Il s'agit ici de la quantité

de mémoire vive utilisée par la mémoire cache des fichiers.
Trouvé également mémoire qui"serait " utilisée si tous les fichiers en cache
montaient.
C'est quoi au juste ? On se trouve dans le fichier d'échange ou dans la
mémoire vive ?





4°Le PTE définition trouvée : Les adresses de la mémoire virtuelle du
fichier d'échange sont mappées vers les adresses de

la mémoire physique à l'aide d'une table des pages.

Ca me parait compréhenible mais la suite beaucoup moins : . pour mapper
les pages système comme l'espace d'E/S, les piles du noyau et les listes des
descripteurs de mémoire.

Puis extrait d'un site :



[Les méthodes de stockage : On appelle page table une table de 1024
entrées permettant de décrire 4mo de mémoire. La page

table entry couvre donc 4ko de mémoire. Une page table entry est constituée
de 4 octets dont les plus essentiels sont

repartis ainsi : - 20 bits (ceux de poids forts) représentent le numéro de
la frame correspondant a cette page (page frame

number ou PFN) - 1 bit signifiant si la page est valide. - 1 bit signifiant
s?il est possible d?écrire sur cette frame. -

1 bit qui donne les droits d?accès à cette frame (kernel ou utilisateur). -
1 bit qui signi e que cette frame a déjà été

accédée. Pour mapper les 4go de mémoire virtuelle il faudrait 1024 page
tables, contenant elle-mêmes 1024 page table

entries (ou PTE) de 4 octets chacune. En d?autres termes, 4mo seraient
nécessaire pour chaque processus afin de mapper ses

4go de mémoire virtuelle. Si cette quantité de mémoire n?est pas énorme, il
faut toutefois prendre en compte qu?elle sera

nécessaire pour chaque processus, et que les 4go de mémoire virtuelle de
chacun seront donc automatiquement mappés qu?ils

soient utilisés ou non. Ce système n?est donc absolument pas viable, car
dans le cas d?une machine disposant de peu de

mémoire, une dizaine de processus minimes occuperaient à eux seuls 40mo de
mémoire, et ce uniquement pour stocker leurs

1024 page tables. Pour palier à ce problème, il existe une structure au
dessus des page tables appelée page directory.

Celle-ci est une table de 1024 entrées (appelées page directory entries, ou
PDE) permettant de décrire l?intégralité des

4go de mémoire virtuelle. ]




J'imaginais le PTE comme une table faisant la liaison entre la mémoire vive
et la virtuelle, sous forme de page, mais ça a l'air directement lié au 4
Gigas que nous offre un système 32 bit, si quelqu'un peut m' expliquer plus
simplement ?





5° On continue en complexité, toute ses interrogations font suite à la
résolution d'un problème en Terminal server sur

windows 2003 ou la résolution a été au final d'augmenter le PapgedPool Size
à son max soit 650MB pour un windows 2003.
Avec Windebug, j'étais avec un pagedpool de 270 MB, avant résolution du
problème; je voyais des messages x pool allocation

failed et la conséquence conexions utilisateurs refusées. Après passage du
pagedpool au max plus de soucis .
Ce paramètre pagedpool , si c'est le paramètre qui apparait dans l'onglet
performance Mémoire pour le noyau ? jamais je ne

l'ai vu dépasser le 270 comment pouvait il avoir des saturation. Si
quelqu'un peut m'en dire plus sur "le Pool Paginé" ca doit rejoindre ma
question 1° peut-être



Bon ça fait beaucoup mais je remercie ceux qui m'éclairont, par contre
c'est comme à qui veut gagner des millions, si on est pas sûr d'une réponse
on répond pas, svp



Merci

A+



Olivier
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Oriane
Le #791644
Bonjour Olivier,

Je te conseille de télécharger le process explorer de www.sysinternals.com,
qui est + complet que le gestionnaire de tâches de 2003 et qui apporte une
aide.

Tu peux aussi aller voir ca:
http://portal.loginconsultants.nl/forum/attachments/Terminal_Server_Performance_Tuning.pdf

Cordialement
Publicité
Poster une réponse
Anonyme