14 votes

Cette utilisation de la mémoire swap est-elle normale ?

Je me suis acheté un Macbook Air M1 avec 8 Go de RAM.
Je l'utilise depuis un mois maintenant et j'ai remarqué que mon utilisation du swap est anormalement élevée, est-ce que c'est quelque chose dont il faut s'inquiéter ?

Comme vous pouvez le voir sur la capture d'écran, le swap est d'environ 3 gigas, et il n'a pas encore été réduit.

enter image description here
J'espérais que 8 gigas seraient suffisants pour vscode et node mais maintenant j'en doute.

De plus, l'utilisation de ma mémoire vive dans le moniteur d'activité atteint toujours un pic entre 6,6 et 6,7 gigaoctets, mais ne dépasse jamais ce seuil.

enter image description here les étiquettes sont : toute la ram, ram utilisée, cache, swap

Dois-je m'inquiéter ?

1 votes

Avez-vous rencontré des problèmes lors de l'utilisation réelle ? Des ralentissements, des roues qui tournent, etc. Si non, alors tout va bien. Le problème avec iStat, c'est qu'il vous donne des chiffres dont la plupart sont tout à fait normaux.

0 votes

À quoi ressemble le graphique de la mémoire dans le moniteur d'activité ? Il donne généralement une meilleure évaluation que les chiffres bruts.

0 votes

@benwiggy non, jamais, je n'ai pas eu de problèmes ou de ralentissements, seulement des inquiétudes.

26voto

Tetsujin Points 95239

Tant que la pression de la mémoire semble correcte, il n'y a pas lieu de s'inquiéter.

MacOS garde les choses en mémoire cache dans la RAM tant que cette dernière n'est pas utilisée par autre chose - ce qui lui donne une tendance générale à donner l'impression qu'elle se remplit et ne se vide jamais.

On peut dire la même chose du swap. Il se remplit, son contenu peut changer, mais le chiffre de swap affiché est toujours un chiffre de "marée haute". Vous ne le verrez jamais baisser jusqu'à ce que vous redémarriez.

Cela ne vous sert à rien, ni au système d'exploitation, de vider périodiquement la RAM inutilisée ou l'espace de pagination juste pour "avoir l'air plus ordonné". Son objectif est mieux servi s'il conserve tout cela au cas où il en aurait besoin à nouveau.

1 votes

En fait, ce comportement est normal pour presque tous les systèmes d'exploitation qui utilisent de la mémoire virtuelle paginée vers un stockage lent. Il s'agit d'un malentendu très courant dans le monde Linux également, en particulier pour les utilisateurs venant de Windows, car Windows n'affiche pas l'utilisation des fichiers de page d'une manière telle que la plupart des gens ne remarquent jamais vraiment ce comportement.

6 votes

C'est ce qu'on appelle le "swapping opportuniste". Si le système d'exploitation ne faisait pas cela, dès qu'il aurait besoin d'échanger des données, il devrait effectuer tout un tas d'écritures avant de pouvoir éliminer quoi que ce soit de la mémoire. En écrivant des données sur le stockage avant que le système d'exploitation n'ait besoin de permuter, il peut réduire la demande d'E/S lorsqu'il doit commencer à permuter, ce qui élimine l'énorme décalage que vous auriez autrement.

19voto

Jörg W Mittag Points 1677

Il existe deux grandes idées fausses que l'on rencontre souvent en ce qui concerne la gestion de la mémoire :

  • Une mémoire vive pleine est mauvaise.
  • L'échange complet est mauvais.

Les deux ont tort.

La RAM est extrêmement rapide par rapport aux autres types de stockage, tant en termes de latence que de bande passante. La RAM est également extrêmement chère par rapport aux autres types de stockage. Par conséquent, vous veulent La RAM doit toujours être pleine, sinon vous gaspillez de l'espace de stockage rapide et coûteux.

Swapp ing est mauvais. L'échange ne l'est pas. La plupart des systèmes d'exploitation évacuent les pages de la RAM vers la mémoire tampon. préventivement pendant les périodes de faible la charge du système mais les garder dans la RAM en même temps également . Pourquoi ? Parce que la permutation est lente, et donc vous voulez que les choses soient déjà en échange au cas où les proverbiales excréments toucheraient la proverbiale unité de circulation d'air. De toute façon, vous ne voulez pas que votre système commence à être remplacé en même temps alors qu'il est déjà très sollicité.

Ainsi, un système d'exploitation essaiera d'utiliser autant de RAM que possible, par exemple en mettant en cache dans la RAM les fichiers récemment et régulièrement consultés. Et il essaiera d'utiliser autant de swap que possible en copiant de manière préemptive les données de la RAM vers le swap, de sorte que si le système d'exploitation a besoin de la RAM rapidement il peut simplement l'utiliser à d'autres fins sans avoir à le sauvegarder pour l'échanger.

Maintenant, quand j'ai écrit ci-dessus que le système d'exploitation essaiera d'utiliser "autant de RAM que possible", ce n'est pas vrai à 100%. C'est plutôt que le système d'exploitation essaiera d'utiliser "autant de RAM qu'il le juge raisonnable", et définir ce que signifie précisément "raisonnable" est l'une des choses que les ingénieurs en performance et les développeurs de noyaux ont essayé d'améliorer depuis que la gestion de la mémoire a été inventée il y a environ 70 ans.

MacOS, en particulier, va essayer de garder un peu de quantité de RAM libre, et compressera également certaines parties de la RAM.

0 votes

"La plupart des systèmes d'exploitation (OS) videront les pages de la RAM vers le swap de manière préemptive ..." et "Donc, un OS..." Ces paragraphes peuvent être corrects pour Windows, ils ne le sont PAS pour MacOS. Lorsqu'il manque de mémoire, MacOS aime compresser la mémoire et ce n'est que lorsqu'il est désespéré que les choses sont copiées dans le swap et retirées de la RAM. Il n'y a pas de copie "préemptive" dans le swap comme le fait Windows avec le Modified Page Writer. À mon avis, c'est là que MacOS (et les autres Unix) ont une gestion de la mémoire inférieure à celle de Windows et (avant lui) de VMS.

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