Mesurer l’utilisation mémoire sur Windows

Votre PC est équipé d’une quantité de mémoire RAM finie.
Windows et les applications utilisent une quantité de mémoire définie.
Cette utilisation fluctue dans le temps.
Mais parfois on peut avoir des problèmes de forte utilisation mémoire.

Cet article vous donne quelques explications pour mesurer l’utilisation mémoire et quelques conseils afin d’optimiser réduire cette utilisation.

Mesurer l'utilisation mémoire sur Windows

Introduction

Lorsque vous achetez un ordinateur ce dernier possède une configuration matérielle.

  • Un processeur avec une capacité de calcul.
  • Une carte graphique qui effectue les calculs d’affichage et le rendu.
  • mais aussi une taille de disque définie. Plus d’informations : Vérifier l’espace disque de Windows.
  • et enfin une quantité de mémoire RAM. C’est le sujet de cet article.

Windows fournit un utilitaire MSINFO32 qui récapitule la configuration matérielle, se reporter à la page : Informations systèmes : processeur, carte mère

Une brève configuration matérielle est aussi donnée depuis le Panneau de configuration > Système.
ou sur Windows 10, clic droit sur le menu Démarrer puis Système.

Mesurer l'utilisation mémoire sur Windows

Dans cet article, nous allons évoqué l’utilisation mémoire de Windows.
Windows découpe cette mémoire en différentes sous-mémoires virtuelles.
Au lancement d’une application, celle-ci réserve une quantité de mémoire définie et utilise cet espace mémoire pour y stocker des informations.

Mesure l’utilisation mémoire de Windows

Il existe bon nombre d’outils pour mesurer l’utilisation mémoire de Windows.
Ainsi on trouve :

L’utilisation mémoire est le rapport entre la mémoire utilisée (Windows et les applications lancées) et la mémoire totale.
On l’exprime souvent en pourcentage.
En effet, c’est le ratio entre la quantité de mémoire totale disponible sur votre PC et la quantité utilisée par Windows et les applications.

Gestionnaire de tâches et performances systèmes

Pour ouvrir le gestionnaire de tâches, suivez cet article :

On trouve deux onglets importants :

  • Processus – donne l’utilisation totale en haut et le détails par Processus. Ainsi cela est pratique pour vérifier si un programme n’utilise pas la mémoire de manière excessive.
  • Performance – permet de visualiser l’état de la mémoire globale. De plus un graphique donne un aperçu dans le temps.
Mesurer l'utilisation mémoire sur Windows avec le gestionnaire de tâches

Et donc dans processus, on trouve les termes suivants :

  • La mémoire utilisée : c’est la mémoire utilisée par des processus (applications en cours d’exécution) et Windows.
  • La mémoire en cache (ou veille) : mémoire contenue des informations qui peuvent être réutilisée par des applications. Cela permet de les démarrer plus rapidement.
  • La mémoire libre : Il s’agit de la mémoire non utilisée et pouvant être utilisée par un processus.

Autre précisions se trouvant dans le gestionnaire de tâches :

Ainsi, une bonne partie de la mémoire est ainsi accaparée par la mémoire utilisée et cache.
Ainsi sur un PC de 4 Go de RAM, on peut avoir constamment plus de 50% de la mémoire utilisée.
Lorsqu’un nouveau processus a besoin de mémoire pour s’exécuter, il pioche dans la mémoire libre et le cache.
Et donc ce cache varie et s’ajuste donc selon les besoins en mémoire.

Forte utilisation mémoire

Exemple, ci-dessous avec beaucoup de processus.

Si on regarde la colonne mémoire, on constate une utilisation totale de 97%. Cela est bien sûr énorme.
Ainsi le gestionnaire de tâches est au taquet en mémoire et montre l’utilisation mémoire qui plafonne :

Mesurer l'utilisation mémoire sur Windows avec le gestionnaire de tâches
Mesurer l'utilisation mémoire sur Windows avec le gestionnaire de tâches

et les accès disques incessants qui peuvent provoquer de grave ralentissements de Windows :

Mesurer l'utilisation mémoire sur Windows avec le gestionnaire de tâches

Le Moniteur de ressources système montre les accès disques system qui écrit dans le fichier d’échange pagefile.sys

Mesurer l'utilisation mémoire sur Windows avec le moniteur de ressources

Process Explorer offre aussi des informations autour de l’utilisation globale avec un graphique en haut de la fenêtre, lorsque vous cliquez dessus, vous obteniez des informations sur l’utilisation mémoire de Windows.

Mesurer l'utilisation mémoire sur Windows avec Process Explorer

Les processus du gestionnaire de tâches

Dans la partie Processus, vous pouvez obtenir l’utilisation globale mais surtout la répartition par processus afin de déterminer quel processus prend le plus de mémoire.

Mesurer l'utilisation mémoire sur Windows avec le gestionnaire de tâches

L’onglet détails fournit plus d’informations sur les processus avec le PID, utilisation mémoire privée et de travail :

Mesurer l'utilisation mémoire sur Windows avec le gestionnaire de tâches

Je rappelle qu’il est possible de trier les colonnes pour lister par ordre croissant et décroissant.
On peut aussi aller plus loin et choisir les colonnes à afficher.
Plus d’informations, lire : le tutoriel du gestionnaire de tâches

Mesurer l'utilisation mémoire sur Windows avec le moniteur de ressources

Le Moniteur de ressources systèmes donne plus d’informations globales sur l’état de la mémoire.
Du côté des colonnes, vous pouvez constater que plusieurs type de mémoire sont présentes comme la mémoire de travail, partagée ou Privé.

Sur Windows la mémoire a plusieurs états qui varie au cours du temps.
De plus Windows créé des mémoires virtuelles en découpant la mémoire physique.
Ainsi le fonctionnement de la mémoire sur Windows est donc assez complexe.

A la recherche de la mémoire perdue

Un des mauvais réflexes par les utilisateurs est la recherche de mémoire non utilisée ou perdue.
Ainsi, souvent les utilisateurs se plaignent qu’à peine Windows ouvert 40, 60% de la mémoire est utilisée.
Cela est tout à fait normal.

En effet lorsque votre PC démarre, Windows utilise la mémoire pour charger certains composants.
Vos applications utilisent aussi cette mémoire.

Ensuite si vous démarrez votre navigateur WEB, vous allez constater que l’utilisation mémoire augmente.
En effet, ces derniers sont assez gourmands de 500 à plusieurs Go.
Par exemple au moment où sont écrites ces lignes, l’utilisation mémoire est 40% alors que le PC dispose de 32 Go de RAM.

Enfin la suite de cet article vous expliquera que Windows utilise une partie de la mémoire pour du cache.
Le but étant de placer certains éléments qui reviennent pour accélérer le chargement des applications.
C’est le rôle de SuperFetch et SysMain.

Ainsi il ne sert donc à rien de viser 10%, 20% de mémoire utilisée.
Cela est de toute façon presque impossible.
Il faudrait désactiver SysMain (le cache) et réduire au maximum les applications ouverts.
Et donc cela n’a donc aucun intérêt.

Ce qui est normal :

  • Selon la configuration matérielle, cela peut monter à 70%. Sur des PC à Go de RAM, on peut avoir une utilisation constate de 50-70% de la mémoire.

Ce qui est anormale :

  • Une utilisation constante de 90% de la mémoire
  • Après avoir fermé une application gourmande comme un jeu, l’utilisation mémoire ne baisse pas.

Par exemple ci-dessous, la mémoire reste au tour de 85% car un des processus svchost.exe bug et utilise plus de 500 Mo.

Forte utilisation mémoire dans Windows

Ainsi dans ces cas là, il faut se reporter à l’article : Résoudre forte utilisation mémoire sur Windows 10 : 100% mémoire

Fonctionnement mémoire sur Windows

L’article suivant donne une idée générale de l’utilisation mémoire par les processus : Utilisation Mémoire processus
La première partie donne les grandes lignes, cela est utile pour bien comprendre comment mesurer et lire la mémoire utilisée et disponible par processus et programmes sur Windows.
La seconde partie est plus technique, pour les curieux.

Les différentes mémoires de Windows

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 :

  • Mémoire Privée (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. Cet espace mémoire ne peut être lu par un autre processus. Cela inclut la mémoire paginée utilisée.
  • Mémoire Partageable (Shared Memory) : c’est la mémoire qui peut être partagée avec un autre processus. Et donc cela permet une communication inter-processus. Les DLL chargées en mémoire peuvent partager la mémoire avec d’autres processus quand ces derniers ont besoin d’y accéder. Cela évite de dupliquer le même contenu pour chaque 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.
  • Mémoire réservée ou mémoire matérielle réservée : c’est la mémoire que Windows ne peut utiliser qui se réserve à votre matériel. Parfois celle-ci prend plusieurs Mo ou Go, ce qui n’est pas normal. Se reporter alors à l’article suivant : Débloquer la mémoire matérielle réservée sur Windows 10

Si vous avez compris, la colonne Plage de travail correspond donc le total des colonnes Privé et Partageable.
On la nomme mémoire virtuelle.

Exemple de lecture de l’utilisation mémoire de Windows

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.

Mesurer l'utilisation mémoire sur Windows avec le gestionnaire de tâches

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).

Mesurer l'utilisation mémoire sur Windows avec le gestionnaire de tâches

La mémoire de Windows en détails

Quelques explications plus complexes et techniques sur le fonctionnement de la mémoire de Windows.
Dans la capture d’écran ci-dessous, se trouve Process Explorer et le graphique Moniteur de ressources systèmes.
On peut alors décortiquer les colonnes.

Mémoire libre

Dans la partie Moniteur de ressources systèmes, la mémoire est libre est la somme de Veille et libre. Les deux graphiques bleus. Soit donc 108+790, ce qui donne un total de 898 Mo de libre.

On retrouve ces deux composants dans la partie Process Explorer et Paging List où :

  • zero équivaut à mémoire libre
  • Standby à la veille
  • La mémoire totale libre se trouve dans la partie Physical Memory (K) qui est la somme de zero + Free + modified.

En réalité, la mémoire totale libre n’est en fait pas vide et stocke des informations tenues par un cache.

Mesurer l'utilisation mémoire sur Windows : les différentes types de mémoire

Les différents états de la mémoire

Le graphique suivant récapitule les différents états de mémoire.

  • free : disponible pour être alloué par des applications mais contient des données.
  • modified : précédemment appartenant à un processus, doit être transféré à un autre magasin avant de pouvoir être réutilisée.
  • standby : mémoire toujours associé à un processus mais n’appartenant pas à la plage de travail.
  • zero : mémoire qui peut être allouée par un processus.
  • bad : plage qui ne réussit pas les vérifications.

Ainsi, lorsque Windows démarre, la mémoire libre se trouve dans « Free Page List ».
Les programmes en cours d’exécution utilisent la mémoire privée (Working set).
Celle-ci alimentent les bloc Modified qui alimentent à leurs tours le bloc « Standby ».
Il s’agit du cache mentionné plus haut, un nouveau processus peut alors réutiliser ce cache, sinon il retourne dans le bloc « Free ».

Enfin lorsqu’un processus est arrête, la mémoire retourne dans le bloc « Free ».
La Free alimente la zéro list, la mémoire libre.
Un nouveau processus peut alors prendre de la mémoire de la Zero List et éventuellement de la Free List.

Mesurer l'utilisation mémoire sur Windows : les différentes types de mémoire

RAMMap donne une carte encore plus précise de l’utilisation mémoire de l’ordinateur

Mesurer l'utilisation mémoire sur Windows avec VMMap
Mesurer l'utilisation mémoire sur Windows avec VMMap

Enfin, VMMap est assez sympa pour obtenir des informations plus précises sur l’état de la mémoire d’un processus en particulier.

Mesurer l'utilisation mémoire sur Windows avec VMMap

SuperFetch et SysMain

Depuis Windows Vista, le Prefetcher s’améliore avec les techniques SuperFetch et ReadyBoost.
SuperFetch accélère le démarrage d’une application par le suivi et l’adaptation aux habitudes d’utilisation de l’application sur une période de temps.
Il se caractérise par la mise en cache dans la mémoire vive de la majorité des fichiers et des données nécessaires au lancement.
Ainsi lorsque vous relancez une application, Windows relit ces données en mémoire.
Comme la mémoire est plus rapide que le disque dur, on gagne en vitesse.

SuperFetch se présente sous la forme d’un service Windows.
Pour plus d’informations sur le système SuperFetch, lire la page:  Faut-t-il désactiver SuperFetch sur Windows 10 ?

Mesurer l'utilisation mémoire sur Windows et SuperFetch

Sur Windows 10, SuperFetch devient SysMain.

Libérer la mémoire sur Windows

Si vous avez lu les paragraphes précédents, vous aurez compris que la mémoire libre, il en faut mais il ne faut pas non plus devenir un obsédé.
En effet, si un programme a besoin d’une grande quantité de mémoire, Windows pioche dans la mémoire libre dont le cache pour apporter la mémoire nécessaire.
Ca ne sert donc à rien de vouloir avoir à tout pris, lors de l’utilisation de Windows, 50, 60% de mémoire libre.

Pour limiter l’utilisation mémoire, la meilleure solution est de réguler le nombre d’applications en cours de lancement.

Limitez donc les programmes installés et désinstalles les programmes inutiles, voir Désinstaller les programmes sur Windows
Limitez aussi le nombre de programmes au démarrage de Windows : Supprimer les programmes au démarrage de Windows
Voici une liste des programmes inutiles : Liste des programmes inutiles sur Windows

Bref, il faut suivre les recommandations de la page : Nettoyer Windows

Il existe aussi des programmes qui permettent de défragmenter la mémoire RAM et autres.
Personnellement, comme les programmes de nettoyages Windows, je trouve ces programmes totalement inutiles.

RAMMap peut forcer le vidage de certains blocs mémoires, depuis le menu Empty.

  • Working set permet de vider le bloc de travail et ainsi obtenir de la mémoire libre.
  • Empty Sandy List vide le cache (cela n’augmente pas la mémoire libre, puis que le cache est compris dedans)
Mesurer l'utilisation mémoire sur Windows avec VMMap

Toutes ces explications en vidéo :

Liens autour de la mémoire sur Windows

Les articles sur la mémoire et Windows.

Quelques autres articles :

image_pdfimage_print
(Visité 14 701 fois, 2 visites ce jour)

Add Comment