Lexique/Mémoire

Colonne Mémoire

Aussi : empreinte mémoire

En bref

La colonne Mémoire du Moniteur d’activité indique la quantité de mémoire utilisée par chaque processus. Le chiffre reflète l’empreinte mémoire du processus : il peut donc inclure de la mémoire compressée, et pas seulement des données non compressées en RAM.

Trier par la colonne Mémoire est le moyen le plus rapide de voir quels processus utilisent le plus de mémoire. C’est un chiffre par processus : les apps qui ont des processus utilitaires sont réparties sur plusieurs lignes.

Additionner toutes les lignes ne donnera pas la Mémoire utilisée affichée en bas de la fenêtre. Les processus peuvent partager de la mémoire, et les totaux ne sont pas comptés de la même façon.

Pourquoi la mémoire d’une app semble plus basse que prévu

Beaucoup d’apps lancent des processus utilitaires, et chaque utilitaire a sa propre ligne. Un navigateur peut afficher un chiffre modeste sur sa ligne principale alors que ses utilitaires totalisent bien plus. Utilisez Présentation, Toutes les opérations, hiérarchiquement pour voir certains utilitaires sous leur parent, ou additionnez vous-même les lignes.

Comment utiliser la colonne Mémoire

Triez par cette colonne quand la pression sur la mémoire est jaune ou rouge. Regardez si un processus ne cesse de grossir alors que vous n’en faites pas plus avec lui, ce qui peut indiquer une fuite. Quitter puis rouvrir l’app libère sa mémoire.

Vous pouvez ajouter d’autres colonnes de mémoire depuis Présentation, Colonnes, comme la mémoire compressée, pour plus de détail par processus.

Ce que mesure la colonne Mémoire

macOS tient pour chaque processus un compte appelé empreinte physique (physical footprint). Il suit la mémoire dans laquelle le processus a écrit et qui lui appartient. La colonne Mémoire du Moniteur d’activité et la colonne MEM de la commande top affichent toutes deux ce compte.

Comme il compte la mémoire que possède le processus plutôt que seulement ce qui se trouve en RAM à l’instant, il peut inclure des données compressées et de la mémoire utilisée pour l’affichage pour le compte du processus. Il exclut les fichiers que le processus a seulement lus, que le système peut abandonner et relire plus tard.

Une partie de la mémoire qu’un pilote ou un composant système réserve pour le compte d’un processus est volontairement exclue de son empreinte, car le processus n’a aucune prise sur sa taille. La colonne Mémoire est donc un bon repère pour comparer les processus, mais pas un relevé exact de chaque octet qu’un processus a fait utiliser au système.

Mémoire, Mémoire réelle, Mémoire privée et Mémoire partagée

Dans l’onglet Mémoire, choisissez Présentation > Colonnes pour ajouter d’autres colonnes de mémoire. Chacune compte quelque chose de différent :

  • Mémoire : l’empreinte physique du processus. C’est celle à utiliser pour comparer les processus.
  • Mémoire réelle : la part du processus qui se trouve en RAM à l’instant, aussi appelée taille résidente. Elle exclut les données compressées et peut inclure de la mémoire partagée : elle peut donc être plus haute ou plus basse que Mémoire.
  • Mémoire privée : la mémoire résidente utilisée uniquement par ce processus.
  • Mémoire partagée : la mémoire résidente que le processus partage avec d’autres processus, comme les bibliothèques système.
  • Mémoire purgeable : la mémoire que l’app a marquée comme pouvant être abandonnée par le système s’il a besoin de place.
  • MV compressée : la part de la mémoire du processus qui a été compressée.

Comment vérifier la mémoire d’un processus dans le Terminal

Ces commandes ne font que lire des informations. Elles sont utiles quand le Moniteur d’activité n’est pas ouvert ou que vous voulez relever une valeur dans le temps.

  1. Lancez top -o mem pour lister les processus triés par mémoire. La colonne MEM correspond à la colonne Mémoire du Moniteur d’activité. Appuyez sur q pour quitter.
  2. Lancez top -l 1 -o mem -n 10 -stats pid,command,mem pour afficher une fois les dix plus gros processus, puis quitter.
  3. Lancez footprint suivi du nom d’une app, comme footprint Safari, pour voir sa mémoire par catégorie. La ligne phys_footprint à la fin correspond à la colonne Mémoire, et phys_footprint_peak est le maximum atteint depuis le lancement du processus.
  4. Attention : ps affiche le RSS, la taille résidente comme la colonne Mémoire réelle : ses nombres ne correspondront donc pas à la colonne Mémoire.

Comment repérer une fuite de mémoire avec la colonne Mémoire

  1. Dans l’onglet Mémoire, choisissez Présentation > Fréquence de mise à jour > Très souvent (1 s) si vous voulez des mises à jour plus rapides.
  2. Trouvez l’app, processus utilitaires compris, et notez sa valeur Mémoire.
  3. Continuez à utiliser l’app comme d’habitude, sans ouvrir plus de documents ni de fenêtres.
  4. Revérifiez la valeur au bout d’un moment. Si elle ne cesse de monter sans jamais redescendre, même quand vous fermez ce que vous aviez ouvert, l’app a probablement une fuite de mémoire.
  5. Quittez et rouvrez l’app pour libérer la mémoire. Si cela se reproduit, vérifiez s’il existe une mise à jour de l’app.

Questions fréquentes

Que signifie la colonne Mémoire dans le Moniteur d’activité ?

C’est la quantité de mémoire utilisée par chaque processus, d’après son empreinte mémoire. Triez par cette colonne pour trouver les plus gros consommateurs.

Pourquoi les valeurs de la colonne Mémoire ne correspondent-elles pas à la Mémoire utilisée ?

Les processus partagent une partie de la mémoire, et les totaux du système sont mesurés autrement : les lignes et le total ne correspondent donc pas exactement.

Pourquoi une seule app affiche-t-elle plusieurs lignes ?

L’app lance des processus utilitaires, et le Moniteur d’activité liste chaque processus séparément.

La colonne Mémoire, est-ce la même chose que Mémoire réelle ?

Non. Mémoire est l’empreinte du processus, qui peut inclure des données compressées. Mémoire réelle n’est que ce qui se trouve en RAM à l’instant, y compris une partie de la mémoire partagée avec d’autres processus.

La colonne Mémoire inclut-elle la mémoire du GPU ?

Elle peut inclure de la mémoire graphique que le système a attribuée à ce processus, car l’empreinte couvre plusieurs types de mémoire, pas seulement les données ordinaires de l’app.

Pourquoi la colonne Mémoire ne correspond-elle pas à ps ou à d’autres outils ?

Des outils comme ps indiquent la taille résidente, qui compte la mémoire autrement. La colonne MEM de la commande top et la commande footprint utilisent le même compte d’empreinte que le Moniteur d’activité.

Voir aussi

Pas à pas : Quelle app utilise mon processeur ou ma mémoire.

Vous cherchez mieux que le Moniteur d’activité ? Consultez les meilleures alternatives au Moniteur d’activité pour Mac, ou parcourez tous les termes du lexique.