Après une journée de travail sur mon MacBook Pro sous Mac OS X 10.6.5, Activity Monitor indique que la majorité des 8 Go de mémoire de mon ordinateur sont "inactifs" et que seul un petit fragment du diagramme à secteurs est "libre". Cela se produit même lorsque j'ai fermé toutes les applications et que seul le Finder est en cours d'exécution.
Qu'est-ce que ça veut dire? La mémoire "inactive" est-elle occupée par quelque chose? Ou est-il encore disponible pour les applications? Merci.
Réponses:
OS X, comme la plupart des systèmes d'exploitation modernes, utilise un système de mémoire virtuelle pour gérer la mémoire. Entre autres objectifs, cela permet au système d'exploitation de traiter l'ordinateur avec un pool de mémoire illimité. Pour ce faire, le système d’exploitation interroge les parties inutilisées de la RAM vers un magasin de disques appelé fichier d'échange .
Bien entendu, la RAM n’est pas illimitée. OS X la regroupe donc en quatre catégories: câblée, active, inactive et libre. La mémoire câblée est requise par le système d'exploitation et ne peut jamais être extraite de la mémoire. La mémoire active est la mémoire utilisée par les programmes en cours d'exécution. La mémoire inactive a récemment été utilisée par des programmes terminés (ou inutilisés depuis longtemps). Libre mémoire est, comme son nom l' indique, la RAM qui n'est pas utilisé.
Lorsque vous lancez un programme, il est chargé dans la mémoire active. Cependant, lorsque vous quittez un programme, celui-ci n'est pas supprimé de la RAM; au contraire, il est heurté dans la mémoire inactive. C'est pourquoi il est souvent plus rapide de relancer un programme - il est toujours en RAM (essayez ceci avec un gros programme comme Firefox).
Une fois que toute votre mémoire est utilisée (la mémoire disponible est égale à 0), le système d'exploitation écrit la mémoire inactive dans le fichier d'échange pour libérer de l'espace dans la mémoire active.
Si un programme est paginé dans le fichier d'échange et que vous le relancez, il sera extrait du fichier d'échange dans la mémoire active.
En bref, vous ne devriez pas vous soucier de savoir si votre mémoire libre est faible. En fait, vous voulez qu'il soit bas - la mémoire libre est un gaspillage de mémoire (car le système d'exploitation ne l'utilise pas pour rien).
Lorsque vous examinez la quantité de mémoire utilisée par votre ordinateur, vous voulez surtout vous concentrer sur Swap utilisé , qui indique la taille du fichier d'échange de mémoire virtuelle, et sur Page ins , qui indique la fréquence à laquelle le système d'exploitation doit extraire de la mémoire à partir du fichier d'échange. en mémoire active.
la source
Ce n'est probablement pas un problème, et cela pourrait même accélérer votre ordinateur.
Tous les systèmes d'exploitation (la plupart?) Utilisent un cache disque, qui stocke en mémoire certains fichiers récemment accédés, de manière à accélérer les accès répétés de ces fichiers. La taille de la mémoire cache du disque sous OS X est variable et elle apparaîtra sous le nom "Mémoire inactive" utilisée.
Si un programme a besoin de plus de mémoire, OS X effacera une partie du cache disque (les fichiers les moins récemment utilisés) pour laisser de l'espace au programme pour s'exécuter / se développer.
Je constate que si je compile beaucoup ou que je trie des photos (c’est-à-dire accédant à des milliers de fichiers de suite), le cache disque s’étendra et utilisera beaucoup de mémoire inactive. Pourvu que ce cache disque, rien à craindre.
S'il s'agit d'un processus ou d'une application en arrière-plan qui utilise de plus en plus de mémoire (ses pages sont marquées comme inactives), vous pourrez le savoir en recherchant les programmes dont l'utilisation "Mémoire réelle" est très élevée dans Activity Monitor. S'il n'y a manifestement pas de gros disque (c'est-à-dire que le total est loin de 8 Go), ce sera le cache de fichiers.
Vous devriez voir que l'utilisation de Swap est minime, voire inexistante, et si vous ouvrez un programme gourmand en mémoire, la quantité de mémoire inactive diminuera sans qu'il soit nécessaire de permuter sur le disque.
(Je crois qu'il y a eu un bogue dans 10.4 ou 10.5 pendant un moment qui ne libérait pas toujours cette mémoire très efficacement et causerait un échange malgré le cache disque important, mais d'après mon expérience, cela semble résolu en 10.6).
la source
La mémoire "inactive" peut être utilisée par d'autres programmes - il ne s'agit que de mettre en cache des programmes ou des données que vous avez récemment utilisés, au cas où vous en auriez de nouveau besoin. Si vous lancez différents programmes ou si vous avez besoin de données différentes, la mémoire en mémoire cache sera effacée et mise à la disposition de votre nouveau workload en fonction des besoins.
C'est la théorie, en tout cas, et je crois que cela est valable. Cependant, j'ai trouvé cette référence à un utilitaire de "purge" écrit par quelqu'un parce qu'ils ne pensaient pas que la mémoire inactive était libérée assez rapidement.
Pour la documentation officielle sur le sujet, lisez ceci (et recherchez "inactif").
la source
À partir de OS X 10.5, MAC OS X pose des problèmes évidents de gestion de la mémoire.
J'ai finalement réussi à reproduire le scénario problématique, j'ai donc lancé le test et enregistré l'écran, en vidéo.
Problème de performance de MAC OS X Lion - gestion de la mémoire endommagée
J'exécute la commande tar + bzip, qui contient des éléments Unix de base, sur la grande quantité de fichiers image de mon dossier Images /. Juste avant de commencer, j'exécute la commande "purge" pour supprimer les données de programme inactives / mises en cache.
Vous pouvez voir sur la vidéo que la mémoire disponible commence à chuter très rapidement et que l'inactivité augmente constamment. Si vous regardez la commande "bsdtar", il ne faut qu'un fragment de RAM, le problème ne réside donc pas dans ce processus. Vous ne pouvez pas dire qu'il s'agit d'une fuite de mémoire de programme, car le problème ne se trouverait donc pas dans une mémoire morte inactive, mais bien dans actif / câblé.
Lorsque la mémoire disponible est tombée au-dessous de 100 Mo, j'ai lancé certaines applications, telles que Safari, iPhoto et MS Word, et vous pouvez voir dans la vidéo que le démarrage d'une application prend même quelques minutes. Normalement (lorsqu'il y a de la RAM libre), prendrait environ 3-5 secondes à charger.
Je lance le même scénario et les mêmes commandes sur ma machine Linux Centos 6, pas de problème! L'utilisation de la mémoire est de l'ordre de 10 à 20 Mo, pas de problème de cache / tampon.
La gestion de la mémoire doit être très cassée dans Mac OS X!
la source
Cette discussion n'a de sens que si l'affirmation selon laquelle "votre ordinateur fonctionnera plus rapidement lorsque la mémoire disponible est faible" était vraie. À moins que mon ordinateur de bureau ne soit câblé bizarrement, à la minute où ma mémoire libre (surveillée) commence à s’épuiser, le programme que j’exécute à ce moment-là commence à s’embourber au point où je ne peux rien faire tant qu’elle ne revient pas toute seule. par mon intervention de mémoire libre. J'ai un iMac 2118 (2006 ou ultérieur) qui ne dépasse pas 3 Go de RAM, alors j'essaie de le gérer quand je peux, mais c'est très frustrant. Des pensées?
la source