Mémoire virtuelle Mac - Qu'est-ce que c'est, l'emplacement d'échange et comment désactiver l'échange dans Mac OS X

On m'a récemment demandé à propos du fichier d'échange Mac OS X, en particulier comment désactiver Mac OS X entièrement. J'ai décidé de profiter de l'occasion pour parler un peu de la mémoire virtuelle Mac (swap), de son emplacement dans le système de fichiers Mac et aussi pour expliquer comment le désactiver.

Mac OS X Swap aka Mémoire virtuelle

Vous pouvez vous rappeler que dans les anciennes versions de Mac OS (OS 8 et 9), vous pouviez désactiver manuellement l'échange, puis la mémoire virtuelle, en ajustant simplement un paramètre dans les tableaux de bord. Mac OS X est un peu différent car il est construit au-dessus d'un noyau unix qui dépend fortement des fichiers d'échange et de la pagination pour la gestion générale de la mémoire et du cache. Pour cette raison, swap est actuellement plus important que dans les versions antérieures de Mac OS.

Fondamentalement, lorsque votre Mac a besoin de mémoire, il va pousser quelque chose qui n'est pas utilisé actuellement dans un fichier d'échange pour le stockage temporaire. Quand il a besoin d'accéder à nouveau, il va lire les données du fichier d'échange et de nouveau en mémoire. Dans un sens, cela peut créer une mémoire illimitée, mais elle est considérablement plus lente car elle est limitée par la vitesse de votre disque dur, par rapport à la quasi-immédiateté de lecture des données de la RAM.

Si vous êtes curieux, vous pouvez vérifier l'utilisation de la mémoire virtuelle de Mac OS X en utilisant la commande 'vm_stat' ou en utilisant le Moniteur d'activité (souvent appelé par erreur le gestionnaire de tâches Mac par les convertisseurs Windows).

Emplacement du fichier d'échange Mac OS X

Si vous êtes curieux de savoir où les fichiers d'échange sont stockés sur votre Mac, ils se trouvent à:

/private/var/vm/

Cela contient également directement votre fichier sleepimage, qui correspond essentiellement à ce que votre Mac stockait en mémoire avant la mise en veille du système. Ce fichier est relu lorsque vous réveillez votre Mac pour revenir à son état précédent. Quoi qu'il en soit, de nouveau pour échanger des fichiers dans le même répertoire: ils sont nommés successivement swapfile0, swapfile1, swapfile2, swapfile3, swapfile4, swapfile5. Vous pouvez les voir par vous-même avec la commande suivante:

ls -lh /private/var/vm/swapfile*

Les fichiers d'échange sont généralement décalés, allant de 64 Mo à 512 Mo.

Désactiver Mac OS X Paging / Swap

Attention: Je vous recommande vivement de ne pas modifier la façon dont Mac OS X gère la gestion de la mémoire et l'échange de fichiers. À moins que vous ne sachiez exactement ce que vous faites et pourquoi, ce n'est pas un ajustement recommandé. Encore une fois, si vous ne savez pas ce que vous faites, ne vous trompez pas avec les fichiers d'échange de Mac OS X ou la capacité de pagination!

Dans le terminal, entrez la commande suivante. Cela déchargera le pager dynamique du noyau Mac OS X:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Encore une fois, cela désactive complètement la capacité de pagination de Mac OS X, ne plaisantez pas avec ça pour vous amuser.

Votre prochaine étape serait de supprimer les fichiers d'échange qui sont actuellement stockés, ils sont généralement assez volumineux (c'est votre mémoire virtuelle après tout) et occupent une bonne partie de l'espace disque.

sudo rm /private/var/vm/swapfile*

C'est tout ce qu'on peut en dire.