Mac Virtual Memory - Wat het is, de Swaplocatie en Hoe Swap uit te schakelen in Mac OS X

Ik werd onlangs gevraagd over het Mac OS X-swapbestand, met name over hoe je Mac OS X-swapping helemaal uitschakelt. Ik besloot om van deze gelegenheid gebruik te maken om iets te vertellen over Mac virtueel geheugen (swap), de locatie in het Mac-bestandssysteem, en ook om uit te leggen hoe het uit te schakelen.

Mac OS X Swap aka Virtual Memory

Je herinnert je misschien dat in oudere versies van Mac OS (OS 8 en 9) je swappen handmatig kon uitschakelen, toen nog Virtueel geheugen genoemd, door gewoon een instelling in de regelpanelen aan te passen. Mac OS X is een beetje anders omdat het is gebouwd bovenop een unix-kern die sterk afhankelijk is van swap-bestanden en paging voor algemeen geheugen en cachebeheer. Daarom is swap nu belangrijker dan in eerdere versies van Mac OS.

Kortom, wanneer je Mac geheugen nodig heeft, zal het iets duwen dat niet wordt gebruikt in een wisselbestand voor tijdelijke opslag. Als het opnieuw toegang nodig heeft, leest het de gegevens uit het wisselbestand en terug in het geheugen. In zekere zin kan dit onbeperkt geheugen creëren, maar het is aanzienlijk langzamer omdat het wordt beperkt door de snelheid van uw harde schijf, vergeleken met de bijna directe invoer van gegevens uit RAM.

Als je nieuwsgierig bent, kun je het virtuele geheugengebruik van Mac OS X controleren met de opdracht 'vm_stat' of met behulp van de activiteitenmonitor (vaak ten onrechte de Mac-taakbeheerder genoemd door Windows converts).

Mac OS X Locatie van wisselbestand

Als je nieuwsgierig bent naar waar de swap-bestanden zijn opgeslagen op je Mac, bevinden ze zich op:

/private/var/vm/

Dit bevat ook direct je Sleepimage-bestand, wat in wezen is wat je Mac in het geheugen heeft opgeslagen voorafgaand aan de systeem slaap. Dit bestand wordt opnieuw gelezen wanneer u uw Mac opstart om terug te keren naar de vorige status. Hoe dan ook, terug om bestanden in dezelfde map te verwisselen: ze worden achtereenvolgens swapfile0, swapfile1, swapfile2, swapfile3, swapfile4, swapfile5 genoemd. Je kunt ze zelf zien met het volgende commando:

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

De swapfiles zijn over het algemeen verspringend in grootte, variërend van 64 MB tot 512 MB.

Schakel Mac OS X paging / swap uit

Let op: Ik zou het ten zeerste aanbevelen om niet aan te passen hoe Mac OS X omgaat met geheugenbeheer en bestanden uitwisselt. Tenzij u precies weet wat u doet en waarom, is dit geen aanbevolen aanpassing. Nogmaals, als u niet weet wat u doet, maak dan geen ruzie met Mac OS X's swapfiles of paging-mogelijkheden!

Voer in de Terminal de volgende opdracht in. Hiermee wordt de dynamische pager uit de Mac OS X-kernel verwijderd:

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

Nogmaals, dit schakelt de Mac OS X-paging-mogelijkheid volledig uit, doe dit niet voor de lol.

Je volgende stap zou zijn om de swapfiles te verwijderen die momenteel zijn opgeslagen, ze zijn over het algemeen behoorlijk groot (het is tenslotte je virtuele geheugen) en nemen behoorlijk wat schijfruimte in beslag.

sudo rm /private/var/vm/swapfile*

Dat is alles wat er is.