86 votes

Quelle est la différence entre la mémoire réelle, virtuelle, partagée et privée?

Les différentes colonnes dans le Gestionnaire d'activité sont un peu déroutantes

0 votes

Il pourrait être intéressant de noter qu'il y a un 5ème type de mémoire si vous cliquez sur "Inspecter" sur un processus par rapport aux colonnes dans le Moniteur d'activité. Plus précisément, il y a deux types de mémoire "Virtuelle" : "Taille de la mémoire virtuelle" et "Mémoire virtuelle privée". Ce dernier est ce qui est montré dans la colonne "Mem virtuelle" du Moniteur d'activité.

67voto

Nick Berardi Points 31361

Extrait de ma réponse sur Server Fault:

Jargon de mémoire Mac OS X:

Filaire : Cela désigne le code du noyau et ainsi de suite. Mémoire qui ne devrait jamais être déplacée hors de la RAM. Aussi connue sous le nom de mémoire résidente.

Partagée : Mémoire partagée entre deux processus ou plus. Les deux processus afficheraient cette quantité de mémoire, il peut donc être un peu trompeur en ce qui concerne la quantité de mémoire réellement utilisée.

Réel : Il s'agit de l'usage "réel" de la mémoire pour une application tel que rapporté par task_info() - un compte approximatif du nombre de pages physiques que le processus actuel possède. (RSIZE)

Privée : Il s'agit de la mémoire qu'un processus utilise uniquement pour lui-même et qui est utilisée dans la mémoire résidente. (RPRVT)

Virtuelle : La quantité totale d'espace d'adresse dans le processus qui est mappé à quoi que ce soit - qu'il s'agisse d'un espace arbitrairement grand pour des variables ou quoi que ce soit - cela ne correspond pas à une utilisation réelle de la VM. (VSIZE)

Active : Mémoire actuellement étiquetée comme active et utilisée en RAM.

Inactive : "La mémoire inactive n'est plus utilisée et a été mise en cache sur disque. Elle restera en RAM jusqu'à ce qu'une autre application ait besoin de cet espace. Laisser ces informations en RAM est à votre avantage si vous (ou un utilisateur de votre ordinateur) y revenez plus tard." - Aide Mac OS X

Libre : La quantité réelle de RAM disponible sans aucune donnée.


La meilleure documentation que je connaisse (et ai pu trouver dans mes recherches complémentaires) est l'article d'Apple sur la Gestion de la mémoire sur leur site web pour les développeurs.

D'autres sources pertinentes: Liste de diffusion Darwin-dev: [1], [2] et un ancien article sur MacOSXHints. De plus, Mike Ash a publié une bonne introduction pour les non-initiés sur son blog

6 votes

En lisant le document Apple sur la gestion de la mémoire, Inactive n'a pas nécessairement été mis en cache sur le disque. Vous pouvez le démontrer en vérifiant votre utilisation de mémoire Inactive (la mienne est actuellement de 747,5 Mo) et votre utilisation de "Swap" (la mienne est actuellement de 0 octets). Inactive fait simplement référence aux pages mémoire qui n'ont pas été lues/écrites récemment par aucun processus.

1 votes

Il pourrait être utile de clarifier ce qu'est "virtuel" car il existe deux références à la mémoire "virtuelle" dans le moniteur d'activité. La colonne "Mem virtuelle" se réfère à "Mémoire virtuelle privée" dans la fenêtre Inspecter le Processus, et il y a également une autre entrée simplement intitulée "Taille de la mémoire virtuelle" dans cette fenêtre (que je crois être le composant partagé de la mémoire virtuelle). Cela concerne la version 10.6.4 (au cas où le moniteur d'activité aurait changé de terminologie...)

0 votes

Le "memory privée" fait-il partie de la "mémoire réelle" ?

8voto

Shawn Points 8120

La mémoire réelle se rapporte à la mémoire physique (modules RAM réels dans votre ordinateur). La mémoire virtuelle est la quantité de "fausse" mémoire allouée au processus, ce qui signifie la mémoire allouée sur le support de stockage permanent (disque dur, disque à état solide, etc.) pour ce processus. La mémoire partagée est la mémoire physique (réelle) qui peut être partagée avec d'autres processus. La mémoire privée est la mémoire "réelle" qui ne peut être utilisée que par le processus auquel elle est allouée.

Ces explications peuvent également être utiles... directement depuis le moniteur d'activité --> aide --> visualisation de l'utilisation de la mémoire système:

Voici une explication de certaines des informations affichées en bas de la fenêtre de la mémoire:

  • Verrouillée : La mémoire verrouillée contient des informations qui doivent toujours rester en RAM
  • Active : La mémoire active contient des informations qui sont utilisées activement.
  • Inactive : La mémoire inactive contient des informations qui ne sont pas utilisées activement. Laisser ces informations en RAM est à votre avantage si vous (ou un client de votre ordinateur) y revenez plus tard.
  • Utilisée : La mémoire utilisée est utilisée par un processus ou par le système. La mémoire utilisée est la somme de la mémoire verrouillée, active et inactive. Si le système a besoin de mémoire, il prend d'abord de la mémoire libre avant de la mémoire utilisée.
  • Libre : La mémoire libre n'est pas utilisée et est immédiatement disponible.
  • Taille VM : La mémoire virtuelle, ou VM, est l'espace disque dur qui peut être utilisé comme mémoire. La taille VM est la quantité d'espace disque utilisée comme mémoire. Mac OS X peut utiliser plus de mémoire que la quantité de RAM physique que vous avez. Un disque dur est beaucoup plus lent que la RAM, donc le système de mémoire virtuelle distribue automatiquement les informations entre l'espace disque et la RAM pour des performances efficaces. Entrées/sorties de pages : Le nombre de gigaoctets d'informations déplacées par Mac OS X entre la RAM et l'espace disque.

9 votes

Ce n'est pas correct. La mémoire virtuelle n'est pas une mémoire allouée sur le disque (ce qui est appelé swap). La mémoire virtuelle est celle qui a de l'espace d'adresse alloué mais qui n'est pas dans la mémoire physique. Cela peut sembler similaire, mais c'est subtilement différent. Dans de nombreux cas, les programmes allouent de la mémoire sans jamais y toucher. Dans ces cas, les programmes utilisent beaucoup de mémoire virtuelle. Pour donner un exemple concret, mon système utilise actuellement 512 Mo de swap, mais a 196 Go de mémoire virtuelle allouée (ce qui est une quantité assez typique pour les personnes utilisant Snow Leopard sur K64).

2 votes

@Louis, si la mémoire virtuelle a été allouée mais n'utilise ni la RAM ni le disque dur, alors où est-elle ?

1 votes

@Louis: Vous avez raison. C'est un peu déroutant cependant en raison de la façon dont le Moniteur d'activité affiche ces informations. Les 196 Go de VM auxquels vous faites référence ne sont pas la taille réelle du fichier d'échange, mais ils décrivent la taille potentielle du fichier d'échange. Remarquez comment ils utilisent la phrase "peut être utilisé comme mémoire".

7voto

Ryan Points 151

Apple a mis à jour l'Activity Monitor dans OSX 10.9 (Mavericks). Ils ont un bon article sur ce que tout cela signifie ici http://support.apple.com/kb/HT5890. En résumé...

enter image description here

  • Mémoire physique: La quantité de RAM installée.
  • Mémoire utilisée: La quantité de RAM utilisée et non immédiatement disponible pour d'autres applications.
  • Mémoire virtuelle: La quantité de mappage mémoire que les applications ont demandé. Il ne s'agit pas d'une consommation réelle de ressources RAM et sa taille est déterminée par l'auteur de l'application.
  • Utilisation de l'échange: L'espace sur votre disque utilisé pour échanger des fichiers inutilisés vers et depuis la RAM. Il est normal de voir une certaine activité et ce n'est pas une indication que vous avez épuisé les ressources RAM. Voir une pression sur la mémoire en état Rouge indiquera que les ressources RAM sont épuisées.
  • Mémoire de l'application: La quantité d'espace utilisée par les applications.
  • Mémoire câblée: Mémoire qui ne peut pas être mise en cache sur le disque, elle doit donc rester dans la RAM. Cette mémoire ne peut pas être empruntée par d'autres applications.
  • Comprimé: La quantité de mémoire dans la RAM qui est compressée, libérant ainsi plus de ressources RAM pour d'autres applications.
  • Cache de fichiers: L'espace en RAM marqué comme disponible pour les applications à utiliser contenant des fichiers récemment utilisés.

Graphique de pression sur la mémoire

La combinaison des statistiques de mémoire Libre, Câblée, Active, Inactive et Utilisée dans les versions précédentes de l'Activity Monitor a été remplacée dans Mavericks par un graphique "Pression sur la mémoire" facile à lire.

La pression sur la mémoire est indiquée par couleur:

  • Vert – Les ressources de mémoire RAM sont disponibles.
  • Ambre – Les ressources de mémoire RAM sont sollicitées.
  • Rouge – Les ressources de mémoire RAM sont épuisées et OS X utilise le disque pour la mémoire.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X