J'utilise OS X depuis quelques mois (Lion et maintenant Mountain Lion). J'ai 8 Go sur ma mini et presque tous les jours maintenant ça se rapproche de ça. Sur une machine Windows 7 avec 8 Go, je n'ai jamais eu ce genre de problème. Quoi qu'il en soit, j'ai lu sur le net, que la mémoire inactive est le cache d'application des programmes récemment fermés et peut être utilisée pour une réouverture plus rapide.Et cette mémoire inactive peut être libérée dans une nouvelle application si nécessaire. Il n'est pas publié. Au lieu de cela, OS X commence à échanger. Donc ma question est pourquoi OS X utilise le swap quand il y a beaucoup de "mémoire inactive"? Voici un écran qui montre ce que je veux dire:
J'espère vraiment qu'il y a un moyen de faire OS X pour utiliser ces 2,69 Go avant de commencer à échanger.
Réponses:
L'échange s'est apparemment produit lorsque les pages RAM inactives étaient réellement actives.
( Mise à jour: comme cela a été clarifié dans un commentaire, ce n'est pas votre cas. Les personnes ayant le même problème peuvent donc passer à la règle horizontale .)
C'est-à-dire que vous aviez de nombreux programmes en cours d'exécution et que le noyau a échangé quelques pages. Ensuite, vous avez quitté certains programmes. Le noyau marque leurs pages RAM comme inactives. Mais il ne remettra pas les pages dans la RAM tant que ces pages ne seront pas nécessaires. Il en résulte des pages inactives et permutées.
Pourquoi ne pas échanger les pages de manière préventive? Parce que ce serait parier contre toute attente: à long terme, vous perdez. Pensons à un exemple simplifié: deux programmes A et B qui ne tiennent pas en même temps dans la RAM. Le programme A est toujours en cours d'exécution et toutes les pages permutées appartiennent à A. Le programme B a quitté et toutes les pages inactives appartiennent à B.
Si le noyau échange de manière préventive les pages de A et immédiatement après:
Tenez également compte du fait que la permutation (écriture sur le disque) est plus coûteuse que la permutation (lecture à partir du disque). Ce qui rend ce "pari" encore plus peu attrayant.
En bref: faites confiance à votre noyau et n'essayez pas de le déjouer.
Mise à jour: il s'avère que la mémoire inactive ne fonctionne pas car l'article Utilisation du moniteur d'activité pour lire la mémoire système a conduit de nombreuses personnes à croire que cela fonctionne. La définition donnée dans l'article pour la mémoire inactive est correcte:
Mais l'exemple suivant est totalement trompeur et trop simplifié (comme mon exemple pour être franc):
J'ai cherché plus de ressources en ligne et je suis arrivé à ce fil dans la liste de diffusion du noyau darwin qui est assez informatif. Citant Jim Magee (de l'équipe Darwin - je pense):
Cela explique le comportement que vous observez. C'est-à-dire que les pages inactives que vous voyez appartiennent à des programmes en cours d'exécution qui n'ont pas été récemment utilisés. Ainsi, lorsque vous lancez un nouveau programme, les pages inactives sont permutées. En même temps, les pages d'autres programmes sont marquées comme inactives pour maintenir le rapport 2/1 entre actif et inactif.
Le fil contient également quelques suggestions pour en savoir plus sur les internes de Darwin. Il y a aussi quelques suggestions au cas où vous commenceriez à étudier l'utilisation de la mémoire à cause de problèmes de beachball (qui n'ont généralement pas grand-chose à voir avec cela).
La conclusion reste la même: faites confiance à votre noyau et n'essayez pas de le déjouer. :-)
la source
Vous pouvez désactiver la pagination en toute sécurité si vous avez suffisamment de RAM.
Essayez ces commandes.
Redémarrez ensuite et vérifiez que le processus dynamic_pager n'est plus en cours d'exécution.
Assurez-vous qu'aucun fichier d'échange n'a été créé dans
/private/var/vm/
.Pour réactiver, essayez les commandes suivantes:
Vous pouvez également désactiver Spotlight pour libérer plus de RAM et réduire l'activité du disque. Les commandes suivantes sont utilisées pour désactiver et activer Spotlight.
la source
Vous ne pouvez pas faire grand-chose. Pourquoi ça fait ça? Parce que c'est comme ça que fonctionne OS X. La partie intéressante est de savoir comment la mémoire occupée s'agrandit à chaque sommeil du Mac.
Que pouvez-vous faire:
la source
Le système fonctionne comme prévu. Même lorsqu'il n'y a pas de pression mémoire, il peut être judicieux d'écrire des pages qui ne peuvent pas être supprimées mais qui n'ont pas été récemment utilisées pour permuter lorsque le système n'est pas occupé. De cette façon, s'il y a une pression de mémoire plus tard, ces pages peuvent être supprimées de la RAM sans avoir à les écrire d'abord pour les échanger pendant que le système est occupé.
la source