Ce que vous voyez est un comportement normal et souhaité.
OS X, comme Linux et BSD, possède un cache disque. Cela signifie que tout ce qui est lu ou écrit sur le disque est conservé en mémoire. La mémoire "inactive" comprend ce cache disque.
Cette réponse sur AskDifferent l'explique, tout comme cet article sur macosxhints.com :
Cependant, les fondements de X (c'est-à-dire le noyau UN*X) fournissent ces deux fonctionnalités sans que l'utilisateur ait à intervenir. fonctionnalités sans que l'utilisateur n'ait à intervenir. C'est ce qu'on appelle la cache tampon du système de fichiers. La différence la plus significative est que la taille de ce cache tampon est dynamique. Il commence avec une petite taille et peut augmenter ou diminuer en fonction des demandes d'entrées/sorties et de la mémoire des applications. des applications varient dans le temps.
On l'appelle "cache tampon" parce qu'il met en mémoire tampon les données d'entrée/sortie sur leur chemin vers/depuis le disque. Lorsqu'une application écrit des données, elles sont d'abord déposées dans la région de mémoire tampon du fichier de l'application et seront et seront ensuite demandées via des routines de bibliothèque pour que le noyau (le OS) les copie du tampon de l'application vers le disque. Le noyau s'exécutera et le copiera d'abord dans son tampon -- le cache tampon du système de fichiers. Si le noyau a besoin de plus de place dans son cache tampon, il l'obtiendra de la mémoire libre. Dans ce cas, la valeur de la mémoire libre, dans disons dans la commande supérieure du terminal, montrera immédiatement une réduction de la de la mémoire libre. A un moment ultérieur, le noyau copiera ces données (appelées données (appelées tampons sales) vers l'emplacement disque approprié. Je pense que la Je crois que la fréquence de cette opération est de 30 secondes, c'est ce qu'on appelle la synchronisation avec le disque.
Notez que le fait d'avoir de la mémoire paginée sur le disque n'est pas toujours une mauvaise chose . Si les pages de mémoire sont complètement inactives, leur pagination sur le disque peut améliorer les performances car ils gaspillent de la RAM qui pourrait être utilisée pour le cache du disque. Une fois qu'ils sont sortis et que vous arrêtez de regarder des films, ils seront remis en mémoire lorsque vous en aurez besoin, remplaçant automatiquement les tampons et le cache disque. Vous n'avez pas besoin d'exécuter purge
à chaque fois. Laissez simplement OS X gérer le cache du disque comme il a été conçu pour le faire.
Pour plus d'informations à ce sujet, consultez l'article de wikipedia sur la pagination y l'article sur le cache de la page .
Information TL;DR :
Voici un article décrivant le fonctionnement du swap sous Linux . Bien qu'il ne soit pas applicable à 100% à OS X, le concept est le même. Je vais citer la partie pertinente :
Lorsqu'une application a besoin de mémoire et que toute la RAM est entièrement occupée, le noyau a deux façons de libérer de la mémoire à sa disposition : il peut soit réduire le cache disque dans la RAM en éliminant les données les plus anciennes soit il peut échanger certaines portions (pages) moins utilisées des programmes vers la partition d'échange sur le disque. Il n'est pas facile de prédire quelle méthode sera plus efficace. Le noyau choisit en devinant approximativement l'efficacité des deux méthodes à un moment donné. l'efficacité des deux méthodes à un instant donné, en se basant sur l'histoire l'historique récent de l'activité
Puisque vous regardez un DVD ou un film, les pages de mémoire les plus récemment actives sont le cache du disque, OS X décide donc de les conserver en RAM et de remplacer les pages de mémoire inactives depuis que vous avez commencé à accéder aux fichiers vidéo. Dès que vous cessez d'accéder aux fichiers vidéo et que vous accédez aux programmes utilisant les pages de mémoire qui ont été échangées, l'inverse est vrai : OS X éliminera le cache disque contenant les données vidéo et le remplacera par les pages de mémoire qui ont été échangées. Votre utilisation de l'échange diminuera.
Voici un peu plus d'informations spécifique à FreeBSD (qui est similaire à Mac OS X) :
FreeBSD utilisera 'toute la mémoire' pour le cache disque. Ce que cela signifie c'est que la partie 'libre' ne contient typiquement que quelques pages. Si le système est à court de mémoire, il peut libérer plus de pages depuis le cache seau.
L'activité du système fonctionne comme suit : Lorsqu'un programme fait activement référence à une page dans un fichier sur le disque (etc...), la page est amenée dans le cache tampon via une opération d'entrée/sortie physique. Elle est généralement placée dans le seau "actif". Si un programme cesse de référencer la page, la page la page migre lentement vers le bas dans le seau inactif ou le seau de cache (selon (selon qu'elle est sale ou non). Les pages sales sont lentement "nettoyées" par en les écrivant dans leur magasin de sauvegarde et en les déplaçant de l'inactif au cache, et les pages du cache sont libérées si nécessaire pour maintenir un nombre minimum de de pages réellement libres dans le seau libre. Ces pages peuvent encore être être "nettoyées" en allouant du swap comme magasin de sauvegarde, ce qui leur permet de de migrer à travers les seaux et d'être éventuellement réutilisées.
[...]
Le cache tampon de la VM met en cache tout le stockage sous-jacent, de sorte que, pour Ainsi, par exemple, il mettra en cache les blocs de données associés à un fichier mais aussi les blocs d'inode et les blocs de bitmap. La plupart des opérations du système de fichiers de la plupart des opérations du système de fichiers sont donc très rapides, même pour les de blocs et autres
[...]
FreeBSD a sans doute l'un des meilleurs codes d'échange qui existe. I Je l'aime personnellement plus que celui de Linux. Linux est plus léger sur l'espace de pagination, mais mais n'équilibre pas bien l'utilisation des ressources de la mémoire système en fonction des variations conditions de charge variables. FreeBSD le fait.
FreeBSD constate l'inutilité des pages existantes en mémoire, et décide qu'il pourrait être avantageux de libérer de la mémoire (ce qui est possible en poussant les pages vers l'espace de pagination), afin qu'elle puisse être utilisée à des fins plus actives (comme la mise en tampon de fichiers, ou plus d'espace programme). la mise en mémoire tampon de fichiers, ou plus d'espace programme). C'est un terrible gaspillage de garder des pages inutilisées, dans le but d'économiser de l'espace disque (bon marché). disque (bon marché). Puisque les E/S SWAP de bas niveau peuvent être plus rapides, avec moins de frais de CPU. que l'entrée/sortie de fichier, il est probablement souhaitable de pousser ces pages inutilisées vers l'extérieur. afin qu'elles puissent être libérées pour être utilisées par des mécanismes plus rapides. (note 1)
(C'est moi qui souligne, vérifiez la partie en gras pour savoir précisément ce que vous demandez, à savoir "Pourquoi le swap est-il utilisé alors que ma mémoire est inactive ?)
0 votes
Quels lecteurs vidéo utilisez-vous ? N'oubliez pas non plus que le système essaie toujours d'atteindre 50 à 100 Mo de mémoire libre, ce qui signifie que les choses fonctionnent correctement. Que voulez-vous dire également par "l'échange est utilisé activement" ?
0 votes
Lecteur DVD QuickTime/built-it/VLC/MPlayerX. Je veux dire que la date est écrite et lue à partir du swap pour presque chaque opération.
0 votes
QuickTime et le lecteur de DVD swapent très peu sur mes machines lion. Même sur un air avec 2 Go de RAM, la lecture d'une vidéo n'entraîne pas la création d'un deuxième fichier d'échange sur le disque.
1 votes
@bmike : Ce n'est pas le swapping de QuickTime, c'est le système d'exploitation qui met en cache chaque lecture de disque qu'il voit. Comme ses autres pages de mémoire sont inactives pendant plus longtemps que le cache du disque, elles sont échangées en premier. C'est un comportement normal et souhaité .