Pourquoi mon Mac préfère-t-il échanger plutôt que vider la mémoire inactive?

8

Pourquoi mon Mac (exécutant 10.8 Mountain Lion) préfère-t-il échanger plutôt que vider la mémoire inactive? Je sais que les gens disent que Mac OS se gère lui-même et peu importe, mais les performances baissent sérieusement lorsque mon MacBook commence à s'échanger, même s'il aurait plus de 1,5 Go de mémoire inactive qui n'est pas effacé. J'ai un lanceur pour la commande de purge dans mon dock - c'est grave!

Section du moniteur d'activité affichant les statistiques de la mémoire

Notez les 2,21 Go d'inactifs et les 127,1 Mo de swap qui, grâce à l'utilisation de tous les programmes de mon flux de travail (Photoshop + Illustrator + Dreamweaver + Publisher, etc.) augmenteront rapidement à moins que j'utilise la commande de purge, ce qui enregistre mon ordinateur d'une fête d'abattage de ballons de plage.

Alexander - Rétablir Monica
la source
Que montre vm_stat 15 sur une période de deux minutes lorsque le "swapping" se produit? Quels processus obtiennent du temps CPU à ce moment?
bmike
Quelle application est PB?
Cajunluke
Vous pourriez ne jamais obtenir une réponse satisfaisante à ceci: les systèmes de mémoire virtuelle peuvent être complexes et peuvent démontrer un comportement émergent qui est difficile à expliquer simplement. Cela dit, certaines personnes ont dit que 10.7 avait des problèmes avec la gestion de la mémoire dans certains cas - 10.6 s'est-il mieux comporté pour vous?
Ken
De plus, Photoshop propose un certain nombre de paramètres de mémoire personnalisés. Comment avez-vous configuré cela?
Ken
10.6 ne l'a pas fait, et j'espère que le 10.8 dp4 ne le sera pas non plus. @CajunLuke PB est éditeur, j'ai changé ma réponse
Alexander - Reinstate Monica

Réponses:

10

J'ai récemment répondu à une question comme la vôtre, alors j'ai pensé reformuler les points principaux pour vous, au cas où cela poserait toujours un problème.

Mac OS X alloue et utilise la RAM différemment de la plupart des versions de MS Windows et peut parfois prêter à confusion. À l'origine, Microsoft a construit Windows pour garder autant de mémoire libre que possible. Le modèle de mémoire d'Apple suit une directive selon laquelle la RAM vide est une ressource gaspillée qui pourrait être mieux utilisée pour améliorer les performances.

Voici une ventilation rapide et quelque peu simpliste de la façon dont votre RAM est actuellement utilisée:

  • Filaire: mémoire réservée et utilisée par le système d'exploitation
  • Actif: mémoire utilisée par les programmes en cours d'exécution
  • Inactif: mémoire utilisée par les programmes que vous avez exécutés précédemment depuis votre dernier redémarrage, mais que vous avez quittés depuis. La plupart des gens utilisent plusieurs programmes de façon répétitive tout le temps et peuvent basculer entre eux en quittant un programme puis en en lançant un autre. Plutôt que de libérer la mémoire pour être "libre", les programmes inactifs sont mis en cache et prêts à être exécutés à nouveau. Une partie ou la totalité de cette mémoire sera combinée avec de la mémoire libre selon les besoins du système ou des programmes. OS X semble parfois réticent à libérer de la mémoire inactive.
  • Libre: mémoire encore inutilisée depuis le dernier démarrage.
  • Utilisé: total des câblés, actifs et inactifs.

Les statistiques de la VM sont réinitialisées à chaque redémarrage.

Si votre MacBook est capable d'être mis à niveau au-delà de 4 Go de RAM, j'investirais certainement dans une paire de SO-DIMM de 4 Go pour un total de 8 Go installés. Un autre point à garder à l'esprit concernant votre MacBook est que les disques durs typiques des ordinateurs portables sont plus lents que la plupart de leurs homologues de bureau. J'ai remplacé le disque dur de mon MacBook Pro de première génération par un SSD de 256 Go. Des performances incomparables avec n'importe quel MacBook Pro "moderne". L'augmentation du disque dur au SSD était un peu plus perceptible que ma mise à niveau de 4 Go à 8 Go de RAM.

TomUnderhill
la source
Un de mes modules SODIMM provoque des paniques dans le noyau, donc le mieux que je puisse obtenir est un seul module de 4 Go = /
Alexander - Rétablir Monica
Je ne comprends toujours pas pourquoi la mémoire inactive n'est pas libérée en cas de besoin, ce qui entraîne un échange. J'ai trouvé une solution en désactivant simplement le pager automatique en charge de l'échange.
Alexander - Reinstate Monica
Les paniques sont-elles causées par le SODIMM ou le slot? Si vous placez les bâtons de RAM dans leurs emplacements, obtenez-vous toujours les paniques? Avez-vous essayé de remplacer le bâton suspect par un autre?
TomUnderhill
La fente; toute combinaison l'impliquant provoque des paniques dans le noyau. J'ai essayé plusieurs sticks de 1 Go (d'origine) et des sticks de 2 Go et 4 Go de rechange.
Alexander - Rétablir Monica
Considérez une question distincte pour la panique du noyau.
Graham Perrin