Utilisation Mémoire processus

Tutoriels, Astuces pour Windows

Modérateur : Mods Windows

Malekal_morte
Messages : 116521
Inscription : 10 sept. 2005 13:57

Utilisation Mémoire processus

par Malekal_morte »

Cette FAQ vous explique comment diagnostiquer des éventuelles utilisations anormales de la mémoire.
Vous pouvez aussi lire cet article plus complet : Mesurer l’utilisation mémoire sur Windows

Avant de commencer, vous devez un peu comprendre comment la mémoire est gérée dans un système d'exploitation. Ceci est très complexe, voici les grands lignes.

Un processus utilise différentes mémoires: une mémoire privée (Private Bytes) exclusivement accessible par lui-même et qui ne peut-être partagée à d'autres processus. Une mémoire partagée (Shared Memory) qui peut-être partagée entre processus. Ceci inclue des composants systèmes (DLL etc). De ce fait, si plusieurs processus ont besoin d'un composant unique en mémoire, ils utilisent la même plage de mémoire afin d'éviter les duplications et un gaspillage de mémoire.

Ces différentes mémoires sont visibles dans le Moniteur de ressources systèmes :
  • Privé (Private Bytes) : Quantité de mémoire demandée par le processus, ce n'est pas forcément la mémoire utilise à un instant T par un processus.
  • Partageable (Shared Memory) : c'est la mémoire partagée utilisée par le processus.
  • Plage de Travail (Working Set) : mémoire totale utilisée par un processus. Ceci inclue la mémoire privée du processus et la mémoire partagée. C'est la valeur affichée dans la colonne mémoire du gestionnaire de tâches
Si vous avez compris, la colonne Plage de travail est donc le total des colonnes Privé et Partageable.

Dans le gestionnaire de tâches, on obtient donc une colonne mémoire avec l'utilisation totale et l'utilisation mémoire par processus. En cliquant sur la colonne "Mémoire" vous effectuez un tri ce qui permet par exemple de regrouper les processus par utilisation de mémoire.

Image

L'onglet Performance donne un graphique d'utilisation totale de la mémoire.
En haut à droite, vous avez la mémoire totale (4go dans la capture ci-dessous).
  • La mémoire utilisée (en cours) : 2,6Go
  • Mémoire Disponible : 1,2Go (soit Mémoire Totale - Mémoire utilisée).
  • Mémoire en Cache : 926Mo - Le cache stocke des informations qui peuvent être utilisées par Windows pour accélérer le lancement des programmes et autres opérations.
  • Mémoire Paginée (Swap ou Virtual Memory), voir plus bas pour les explications.
En général, l'utilisation mémoire oscille autour de 70% d'utilisation quand on a 4 Go de RAM.
Autour de 50% quand on a 8Go ou 16Mo de RAM.

Si cela peut vous paraître beaucoup, c'est tout à fait normal. C'est à cause du cache mémoire réservé par Windows, la mémoire étant le composant de stockage le plus rapide sur un ordinateur, il ne sert à rien de garder de la mémoire inutilisée. Windows réserve donc une partie de la mémoire nommée cache qui va être utilisée pour stocker des informations permettant aux applications et systèmes d'effectuer des opérations plus rapidement. Le cache va bien entendu osciller selon la mémoire disponible, si la mémoire disponible diminue, le cache diminuera aussi.

Image

Du côté du Moniteur de ressources systèmes, on retrouve les colonnes "Validation", "Plage de travail", "Privé" et "Parteable" pour chaque processus. La colonne "Fautes Matériels" correspond à la mémoire récupérée depuis la mémoire paginée (Swap). Cela n'a rien à voir avec des problèmes matériels liés aux barrettes mémoires.

Le Moniteur de ressources systèmes récapitule en bas la répartition de l'utilisation mémoire.
Le graphique en haut à droite permet de suivre l'utilisation mémoire dans le temps.

Image


Mémoire Paginée / SWAP

A lire aussi concernant le fichier d'échange de Windows : pagefile.sys et swapfile.sys : mémoire virtuelle de Windows

Que se passe-t-il lorsque vous n'avez plus de mémoire ? Théoriquement, vous ne pouvez plus lancer de programmes et si un programme a besoin de plus de mémoire, ce dernier va planter. Les systèmes d'exploitation permettent de simuler de la mémoire: c'est de la mémoire virtuelle. Un fichier sera créé sur le disque dur et sera utilisé comme mémoire. Dans le cas de Windows, il correspond au fichier "pagefile.sys". Quand il sera utilisé par un ou des processus, le moniteur de ressources système va incrémenter le compteur "Fautes Matériels". Le gros inconvénient c'est que les accès au disque dur seront BEAUCOUP plus lents que les accès mémoires. Conclusion: quand le système "SWAP" : le disque dur se met à gratter et le système ralenti considérablement.

Dans ces cas là, le mieux étant encore de redémarrer l'ordinateur.

Vous l'aurez compris le but du jeu étant de ne pas en arriver à ce que l'ordinateur SWAP.

Il est possible de configurer l'usage de la mémoire paginée.
  • Touche Windows + R et tapez Sysdm.cpl
  • Cliquez sur l'onglet "Paramètres systèmes avancés"
  • Cliquez sur "Paramètres" dans la partie "Performances"
  • Cliquez "Modifier" sur la nouvelle fenêtre dans la partie "Mémoire Virtuelle".
  • Fixez la taille du SWAP
Image

Image


Windows 10 et utilisation mémoire de SYSTEM

Windows 10 introduit un nouveau système d'utilisation mémoire avec la compression de mémoire non utilisée.
Celle-ci apparaît dans l'utilisation mémoire de SYSTEM sur legestionnaire de tâche.

Ceci est évoqué sur la page suivante :

Image

Cette utilisation de mémoire de SYSTEM (en fait ce n'est pas le cas) est donc tout à fait normal.
Sur la page : Lien suivant, on peut lire :
Memory Manager Improvements:

In Windows 10, we have added a new concept in the Memory Manager called a compression store, which is an in-memory collection of compressed pages. This means that when Memory Manager feels memory pressure, it will compress unused pages instead of writing them to disk. This reduces the amount of memory used per process, allowing Windows 10 to maintain more applications in physical memory at a time. This also helps provide better responsiveness across Windows 10. The compression store lives in the System process’s working set. Since the system process holds the store in memory, its working set grows larger exactly when memory is being made available for other processes. This is visible in Task Manager and the reason the System process appears to be consuming more memory than previous releases.
RamDefrag, Memoire cache optimisation etc

Des tonnes de logiciels prétendent optimiser l'utilisation mémoire mais détrompez-vous ces programmes "magiques" n'optimisent rien du tout. La finalité étant davantage de vous délester de quelques pièces de monnaies. Si "défragmenter le disque dur" peut avoir parfois des intérêts, "défragmenter la RAM" ne sert strictement à rien ! Reportez-vous à la page : Nettoyeur et Défragmenteur : ça ne sert à rien !

Sur la toile, on trouve même des commandes pour "optimiser le cache mémoire" :
32 bits : %windir%\systel32\rundll32.exe advapi32.dll,ProcessIdleTasks
64 bits : %windir%\SysWOW64\rundll32.exe advapi32.dll,ProcessIdleTasks
Qui s'avère en fait être simplement une commande pour forcer des opérations qui ont lieu quand le système "ne fait rien".

L'emplacement de clef du Registre Windows "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management" correspond aux paramètres d'optimisation de la mémoire. Les manipulations le plus courantes visent à modifier la valeur de LargeSystemCache à 1 car ce paramètre permet d'agrandir le cache à plus de 4Go. C'est utile uniquement pour les ordinateurs qui disposent de beaucoup de mémoire ( + de 10Go par exemple ).

Seulement cette astuce date de Windows XP
Cela n'affectait que les systèmes en 32Bits et si on avait de l'AGP, cela pouvait même entrainer un arrêt complet de windows
Sur du 64bits. cela n'a AUCUN effet si ce n'est les inconvénients décrits dans le lien assiste.com (risque de plantage par ex)

Idem pour le

HKEY LOCAL MACHINE\System\CurrentControlSet\Control
\Session Manager\Memory Management
DWORD "IoPageLockLimit" = F0000

Voir les explications :

http://assiste.com/Cache_disque.html


Bref, dans la majeure partie des cas, pour l'utilisateur lambda ça n'a aucun intérêt.


Image

ReadyBoost

ReadyBoost est une technologie qui permet d'utiliser une clé USB comme mémoire supplémentaire pour Windows.
C'est une méthode simple pour accélérer facilement Windows.
=> Comment accélérer Windows avec ReadyBoost.

Vidéo autour de l'utilisation mémoire sur Windows



Liens internes:
Première règle élémentaire de sécurité : on réfléchit puis on clic et pas l'inverse - Les fichiers/programmes c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas !
Comment protéger son PC des virus
Windows 11 : Compatibilité, Configuration minimale requise, télécharger ISO et installer Windows 11

Comment demander de l'aide sur le forum
Partagez malekal.com : n'hésitez pas à partager les articles qui vous plaisent sur la page Facebook du site.
Malekal_morte
Messages : 116521
Inscription : 10 sept. 2005 13:57

Re: Utilisation Mémoire processus

par Malekal_morte »

Le Windows Driver Kit fournit des programmes de diagnostic dont poolmon qui permet d'évaluer l'utilisation mémoire de manière précise.
poolmon fonctionne un peu comme la commande top sous GNU/Linux.

Image

L'installation du Windows Driver Kit peut prendre pas mal de temps (au moins 15min), dans la capture ci-dessous, on peut voir que c'est la version pour Windows 8.1, celle-ci fonctionne bien sur Windows 10.

Image

Image


Pour lancer le programme, il vaut mieux le lancer avec un jeton administrateur, par exemple en ouvrant une invite de commandes en administrateur.
  • Cliquez sur le Menu Démarrer et tapez cmd.
  • Sur l'invite de commandes, faites un clic droit puis exécuter en tant qu'administrateur
  • La commande diffère selon l'architecture de votre ordinateur, soit donc :
    • 32-bits : "C:\Program Files (x86)\Windows Kits\8.1\Tools\x64\poolmon.exe"
    • 64-bits : "C:\Program Files (x86)\Windows Kits\8.1\Tools\x86\poolpon.exe"
  • Le programme s'ouvre.
Vous pouvez ensuite appuyer sur la touche b afin de trier la liste par utilisation mémoire (colonne Bytes).
Voici deux captures d'écran provenant d'un poolmon d'un Windows 10 ayant un problème de forte utilisation mémoire par SYSTEM : Windows 10 : Forte Utilisation mémoire par SYSTEM

Pour trouver le coupable, il faut ensuite regarder la colonne Tag.
Ci-dessous : CM31
Image

et ci-dessous : SnMP
Image

La page suivante donne une liste des tags afin de trouver le "coupable" : http://blogs.technet.com/b/yongrhee/arc ... -list.aspx
Cette liste est aussi accessible depuis le Windows Driver Kit via le fichier : C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\triage\pooltag.txt
Première règle élémentaire de sécurité : on réfléchit puis on clic et pas l'inverse - Les fichiers/programmes c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas !
Comment protéger son PC des virus
Windows 11 : Compatibilité, Configuration minimale requise, télécharger ISO et installer Windows 11

Comment demander de l'aide sur le forum
Partagez malekal.com : n'hésitez pas à partager les articles qui vous plaisent sur la page Facebook du site.
  • Sujets similaires
    Réponses
    Vues
    Dernier message

Revenir à « Tutoriels Windows »