You experience performance issues in applications and services when the system file cache consumes most of the physical RAM’’ http://support.microsoft.com/default.aspx?scid=kb;EN-US;976618

L’event logs ou Events forwarding utilise les Mapped Files!!!

Troubleshooting Windows Performance Issues: Lots of RAM but no Available Memory: http://blogs.technet.com/b/mspfe/archive/2012/12/06/lots-of-ram-but-no-available-memory.aspx

—————————————————————————————————————–

Les différents états des pages mémoires:

Mémoire libre : “Free” ; Espace mémoire non utilisé

Mémoire réservée : “Reserved” ; Espace mémoire virtuel réservé pour un usage futur

Mémoire Allouée : “Committed” ; Espace mémoire virtuel réservé et alloué dans le page file

Le jeu de travail: Working Set

•La partie de l’espace d’adressage virtuel en mémoire physique.
•Toutes les pages d’un processus qui peuvent être référencées sans générer de « faute de page ».
•Quand la limite est atteinte, une page doit être libérée pour chaque nouvelle page rajoutée
•Limite du Jeu de Travail:
     Le nombre maximum de pages qu’un processus peut contenir
     Valeur par défaut pour chaque nouveau processus
     Valeur globale du système calculée pendant le démarrage.(MmMaximumWorkingSetSize)
Le fichier de pagination (Page File):
•Espace disque utilisé pour stocker les pages mémoire encore utilisées ou qui ont été modifiées et doivent être écrites sur le disque.
•Quand le pagefile est presque plein : “System running low on virtual memory”.
•Quand le pagefile est plein : “System out of virtual memory”
Les fautes de page: Page Fault

Page Faults: Créée quand un process demande une page qui n’est pas dans son working set. La page doit être localisée et ajoutée dans le working set du process.

    Hard page fault » = rapatriement de la page mémoire du disque vers la RAM   => implique une lecture sur le disque

Soft page fault » = rapatriement de la page mémoire de la RAM.

Certaines « hard page faults » ne peuvent être évitées; Le code est chargé en mémoire physique (.EXE .DLL) via des fautes de page. La première lecture d’un fichier par le « gestionnaire de cache » génère une faute de page qui entraîne la lecture du fichier à partir du disque dur.

Les Soft page faults sont résolues en mémoire: Une page partagée, valide pour un processus peut générer une faute de page pour un autre processus. Les pages ajoutées au « Jeu de travail » sont prises des listes de pages « standby » et « modified »

Compteurs memoires:

Memory\Pool Nonpaged (Octets de réserve non paginée) :

Se compose de plages d’adresses virtuelles système qui sont assurés de résider en permanence en mémoire physique et auxquelles on peut donc accéder en permanence (depuis n’importe quel IRQL et contexte de processus) sans risquer d’avoir un défaut de page.

Utilisation :

–Nonpaged Pool est utilisé par les drivers: Divers structures et codes kernel qui correspondent au kernel non paginable du système d’exploitation.
–Typiquement utilisé par le service serveur, le système de fichier NTFS et par des drivers dons les exigences de performances ne peuvent pas se permettre d’être paginée (Pilotes vidéo, de stockage,…). SMS, Active Directory (Sysvol), Serveur de fichiers et d’impressions sont les plus gros consommateurs de Nonpaged Pool.

Limites :

-Windows XP/2k3 x86 a 260MB pour 2GB de RAM ou plus (128MB si /3GB).
-Windows x64 a 872MB pour 2GB et 1.425GB pour 4GB qui s’ajuste en fonction de la RAM installée jusqu’à un maximum de 128GB

Memory\Pool Paged Bytes (Octets de réserve paginée) :

Région de la mémoire virtuelle de l’espace système qui peut être déchargée vers le fichier de pagination puis rechargée en mémoire physique.

Les pilotes de périphérique qui n’ont pas besoin d’accéder à la mémoire depuis le niveau DPC/Dispatch ou supérieurs peuvent utiliser le pool paginé, qui est accessible depuis n’importe quel contexte de processus.

Utilisation :

•Registre
•Fichier et structures d’impression
•Utilisée en général par les services tels que les Antivirus, les logiciels de backup,etc.

Limites :

-Windows XP/2K3 x86 a environ 330MB-480MB disponibles pour 2-4GB de ram.
-Windows  x64 a environ 3.48GB pour 2GB et 5.7GB pour 4GB qui s’ajuste en fonction de la RAM jusqu’à 128GB maximum.
MEMORY\Pool Nonpaged Bytes (Mémoire\Octets de réserve non paginée)
MEMORY\Pool Paged Bytes (Mémoire\Octets de réserve paginée)

Triggers :

0-50%– Utilisation normale
60%-80% Avertissement
80-100% Proche de la Saturation

PTE (Page Table Entry)Entrées en tables des pages systèmes: Page Table est une structure de données utilisées par le VMM (Virtual Memory Manager) pour sticker le “mappage” entre les adresses virtuelles et les adresses physiques Pour connaître le nombre de PTE système disponible, vous pouvez monitorer la valeur du compteur mémoire:

• Memory\Free System Page Table Entries (Memoire\Entrées libres en table despages système)

Cache système

Le cache système est un espace d’adressage virtuel employé pour mapper les fichiers ouverts pour un accès plus rapide.

• Memory\Cache Bytes (Mémoire\Octets du cache)

Windows 2008 / Windows 2008 R2: •Memory\System Cache Resident Bytes (Mémoire\Octets résidant dans le cache système) ; You experience performance issues in applications and services when the system file cache consumes most of the physical RAM’’ http://support.microsoft.com/default.aspx?scid=kb;EN-US;976618

Memory\Available MBytes (Memoire\Megaoctets disponibles) : Windows prend des octets libres pour satisfaire les besoins des applications en matière de mémoire. Les octets disponibles correspondent  à la taille de la mémoire virtuelle couramment dans la liste libre, en attente ou zéro.

Triggers :

•10% ou plus de la RAM – Utilisation normale
•Moins de 10% de la RAM – Avertissement
•Moins de 1% de la RAM ou moins de 100MB – Cause une pagination excessive, problèmes de stabilité, de performance (applicatif ou de service).
Memory\Pages/sec (Mémoire\Pages/s): indique le nombre de ‘’hard page faults’’ (Lecture/Écriture). Il n’indique pas à lui seul un niveau de RAM faible, mais mesure l’accès au disque impliquant ou pas, le Page File
Memory\Committed Bytes: Mesure la ‘’commit charge’’  qui est la quantité totale de mémoire  engagé (commited) qui est utilisée par tous les processus et par le noyau (kernel)
Memory\Commit Limit: Mesure la quantité maximal de mémoire virtuelle qui peut être engagé .
• Commit Limite = RAM + PageFile
%Committed Bytes In Use: Calcule le ratio d’octets  engagés (commit charge) par rapport au Commit Limit. Il est donc relativement facile pour vous de déterminer si le Système  est faible au niveau ressource de mémoire physique

PageFile Size: http://support.microsoft.com/kb/2021748

Windows 64bits pourquoi?