Mesurer l’utilisation mémoire sur Windows

Votre ordinateur est équipé d’une quantité de mémoire RAM finie.
Windows et les applications utilisent une quantité de mémoire définie.
Afin de bien comprendre comment fonctionne la mémoire sur Windows et mesurer l’utilisation de la mémoire sur Windows, cet article vous donne quelques explications pour mesurer l’utilisation mémoire et quelques conseils afin d’optimiser réduire cette utilisation.

Introduction

Lorsque vous achetez un ordinateur ce dernier possède une configuration matérielle.
Un processeur avec une capacité de calcul, de même pour la carte graphique mais aussi une taille de disque définie (voir Vérifier l’espace disque de Windows ) et enfin une quantité de mémoire RAM.
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é 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.
Cette mémoire est découpée en différentes sous-mémoires utilisées par Windows.
Les applications lors de son lancement réservé une quantité de mémoire définie et utilise cet espace mémoire pour y stocker des informations qui peuvent être lues pour leurs fonctionnements.

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.
Cette utilisation est souvent exprimée en pourcentage.

gestionnaire de tâches et performances systèmes

L’onglet Performance du gestionnaire de tâches permet de visualiser l’état de la mémoire globale.
Vous trouvez ainsi :

  • 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 notamment 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.
Il n’est pas anormalement sur un ordinateur doté de 4Go de RAM d’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 qui peut alors être réduit pour libérer de l’espace mémoire.

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

Exemple, ci-dessous :

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 global 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/décroissant ou encore choisir les colonnes à afficher.
Plus d’informations, lire : le tutoriel du gestionnaire de tâches

Le Moniteur de ressources systèmes est peut-être plus claires au niveau des informations mémoires globale de Windows avec le disponible / Mise en cache etc.
Du côté des colonnes, vous pouvez constaté que plusieurs type de mémoire sont présentes comme la mémoire de travail, partagée ou Privé.
Mesurer l'utilisation mémoire sur Windows avec le moniteur de ressources

Comme vous le constatez et comme évoqué dans l’introduction, la mémoire est répartie en différents états.
Le fonctionnement de la mémoire sur Windows étant assez complexe.

Fonctionnement mémoire sur Windows

Une partie des explications avaient déjà été abordée sur la page : 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, cela permet une communication inter-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 que l’on nomme mémoire virtuelle.

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âchesL’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 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 total libre n’est en fait pas vide et est contient 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édement 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

Depuis Windows Vista, le Prefetcher a été amélioré par 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 et la mise en cache dans la mémoire vive de la majorité des fichiers et des données nécessaires au lancement afin que ces informations soient accessibles très rapidement.

SuperFetch se présente sous la forme d’un service Windows.

Mesurer l'utilisation mémoire sur Windows et SuperFetch

Libérer la mémoire

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

Print Friendly, PDF & Email
(Visité 1 398 fois, 9 visites ce jour)

Vous pouvez aussi lire...

Les Tags : #Windows10 - #Windows - #Tutoriel - #Virus - #Antivirus - #navigateurs WEB - #Securité - #Réseau - #Internet