Geheugendruk op de Mac uitgelegd: geel, rood en wisselgeheugen
Open Activiteitenweergave, klik op Geheugen, en het eerste getal waar de meeste mensen naar kijken is Gebruikt geheugen. Het is bijna altijd hoog. Op een Mac met 48 GB zit het rustig op 40 GB met een browser en een editor open, en dat lijkt een probleem om op te lossen.
Dat is het zelden. macOS gebruikt het RAM waar je voor hebt betaald, want ongebruikt geheugen doet niets: het systeem vult het met bestandscaches en houdt recent gebruikte pagina's resident. Of de Mac echt geheugen tekortkomt, zie je in de grafiek Geheugendruk onderaan datzelfde venster, die meestal groen blijft terwijl "Gebruikt geheugen" alarmerend oogt.
Negeer "Gebruikt geheugen" en lees de grafiek Geheugendruk. Is die groen, dan is een bijna volle RAM-meter geen probleem en is er niets te repareren. Is hij geel of rood, dan vertellen de drie tellers hieronder waarom.
Waarom "Gebruikt geheugen" het verkeerde getal is
macOS behandelt vrij RAM als verspild RAM. Pagina's met recent gelezen bestanden blijven resident omdat ze opnieuw uit RAM lezen niets kost en ze opnieuw van schijf lezen wel. Op het moment dat een app dat geheugen nodig heeft, valt de cache weg.
De geheugengids van Activiteitenweergave van Apple toont de verdeling op het tabblad Geheugen:
| Rij | Wat het is | Moet je je zorgen maken |
|---|---|---|
| App-geheugen | Pagina's die apps hebben gereserveerd en gebruiken | Alleen als één app ver uit de pas loopt |
| Vast geheugen | Pagina's die de kernel niet kan uitwisselen | Zelden iets om aan te doen |
| Gecomprimeerd | Pagina's samengedrukt om ruimte te maken, nog in RAM | Een beetje is normaal, veel is een signaal |
| Gecachte bestanden | Bestandsgegevens die blijven omdat RAM vrij was | Nooit. Dit is het systeem dat werkt |
Gebruikt geheugen dekt App-geheugen, Vast geheugen en gecomprimeerd geheugen. Gecachte bestanden wordt apart gemeld: het bezet RAM dat anders ongebruikt zou zijn en kan worden overschreven als het systeem het nodig heeft. Een gezonde Mac kan dus tegelijk flink Gebruikt geheugen en flink Gecachte bestanden tonen zonder RAM tekort te komen.
Lees in plaats daarvan de druk
De grafiek Geheugendruk is de eigen samenvatting van macOS over of het reserveringen kan voldoen zonder de prestaties te schaden:
- Groen. Verzoeken worden voldaan uit vrij of terug te claimen geheugen. Niets te doen, bij elk niveau van "Gebruikt geheugen".
- Geel. Het systeem comprimeert en zet pagina's weg om bij te blijven. Het werkt nog, maar de marge is weg en een grote nieuwe reservering kost je.
- Rood. Reserveringen wachten op geheugen dat eerst vrijgemaakt moet worden. Het draaiende strandbal en het trage wisselen van apps komen hiervandaan.
Je kunt het ook vanaf de opdrachtregel lezen:
memory_pressure
De interessante regel is de laatste:
System-wide memory free percentage: 74%
Dezelfde opdracht toont de ruwe tellers waar hij dat uit afleidt, inclusief pagina-aantallen en wisselactiviteit, wat nuttig is als je bewijs wilt in plaats van een kleur.
De drie signalen achter de kleur
Is de druk geel of rood, dan verklaren drie getallen waarom. Lees ze samen, want elk ervan apart kan misleiden.
Gebruikt wisselgeheugen. Dit is geheugen dat naar schijf is geschreven omdat het niet paste.
sysctl vm.swapusage
vm.swapusage: total = 6144.00M used = 4568.19M free = 1575.81M (encrypted)
Wisselgeheugen dat niet nul is, is op zich geen storing. macOS wisselt pagina's uit die lang niet zijn aangeraakt, ook als het geheugen ruim is, en op een SSD zijn de kosten daarvan klein. Wisselgeheugen dat groot is en groeit terwijl je werkt, is het echte signaal.
Compressie-activiteit. Voordat het naar schijf wisselt, comprimeert macOS pagina's in RAM.
vm_stat | grep -i compress
Pages stored in compressor: 1945157.
Pages occupied by compressor: 389440.
Decompressions: 82848340.
Compressions: 163587315.
Compressies die snel stijgen terwijl je de Mac gebruikt, betekenen dat het systeem vecht om ruimte. Een groot historisch totaal op een machine die weken aan staat, betekent op zich niets.
Page-ins onder belasting. Pagina's teruglezen van schijf is wat je voelt als een hapering. Een Mac die tegelijk comprimeert, wisselt en pagina's inleest, is de klassieke strandbaltoestand.
De app vinden die het doet
Sorteer het tabblad Geheugen van Activiteitenweergave op de kolom Geheugen en kijk naar de bovenste rijen in plaats van de hele lijst. Het antwoord is meestal een van deze vier:
- Een browser met veel tabbladen. Elke renderer is een apart proces, dus het totaal van de browser is over rijen verspreid. Het eigen Taakbeheer van Chrome, onder Venster, schrijft geheugen toe aan losse tabbladen en extensies. Zie Chrome Helper met hoge CPU en veel geheugen.
- Een virtuele machine of container-runtime. Die reserveren geheugen vooraf, dus het getal is een configuratiekeuze en geen lek.
- Een creatieve of ontwikkelapp die lang draait. Geheugen dat gestaag groeit tijdens een sessie en nooit terugkomt, is het melden aan de ontwikkelaar waard.
- Een onbekend proces. Identificeer het voordat je het stopt. Zie onbekende processen onderzoeken.
Stop de app. Een proces dat alleen groot is geforceerd stoppen terwijl het systeem het aankan, kost je niet-bewaard werk en levert niets op.
Wat niet helpt
- Apps die geheugen opschonen. Geheugen vrijmaken betekent caches weggooien die het systeem met opzet heeft opgebouwd. De RAM-meter oogt beter en de Mac wordt trager terwijl alles weer wordt ingelezen.
sudo purgevolgens een schema. Het leegt bestandscaches voor benchmarks, dezelfde fout in opdrachtvorm. Het heeft ook niets te maken met wisbare schijfruimte, ondanks de gedeelde naam. Zie wisbare ruimte.- Apps sluiten die je meteen weer opent. macOS beslist welke inactieve apps het comprimeert beter dan een routine dat doet.
- Wisselgeheugen uitschakelen. Wisselgeheugen is de veiligheidsklep. Haal het weg en een app wordt gestopt.
Wanneer het antwoord echt meer RAM is
Apple silicon gebruikt unified memory dat na aankoop niet te upgraden is, dus het loont om dit te diagnosticeren in plaats van te gokken.
Koop meer geheugen als de druk tijdens je gewone werk geel of rood blijft, het wisselgeheugen gestaag groeit tijdens een sessie, en de grootste verbruikers allemaal dingen zijn die je tegelijk open nodig hebt. Is de druk groen en reageerde je alleen op "Gebruikt geheugen", dan zou meer RAM niets veranderen wat je kunt merken.
Waar een monitor past
Mole toont geheugendruk naast CPU, temperatuur en de processen die ze aandrijven, zodat een trage Mac op één plek is toe te schrijven in plaats van over vier vensters. Het meldt de druk prominent omdat die helpt uitleggen hoe de Mac aanvoelt. Status en de menubalk volgen het geheugen zonder het te wissen. Optimaliseren heeft een aparte taak die geheugen vrijgeeft en alleen draait als macOS waarschuwingsdruk of kritieke druk meldt. Bij normale druk slaat hij die over.
Veelgestelde vragen
Is hoog geheugengebruik slecht op een Mac?
Nee. Hoog gebruik met groene druk is macOS dat beschikbaar RAM voor caching gebruikt, en dat is het bedoelde gedrag. Druk is de gezondheidsindicator, niet het gebruik.
Hoeveel wisselgeheugen is te veel?
Er is geen drempel die voor alle machines geldt. Kijk naar de trend tijdens je echte werk in plaats van naar het absolute getal: wisselgeheugen dat gestaag groeit terwijl de druk geel of rood is, is het probleem, en een paar gigabyte op een machine die weken wakker is meestal niet.
Werken apps die geheugen opschonen?
Ze doen wat ze beloven, en dat is het probleem. Caches weggooien laat het getal voor vrij geheugen stijgen en maakt de volgende minuten trager. macOS claimt geheugen al terug als iets het nodig heeft.
Waarom is mijn Mac traag als de druk groen is?
Dan is geheugen niet de beperking. Kijk naar CPU, thermische begrenzing of schijf. Begin met waarom je Mac traag is, dat de knelpunten op volgorde afwerkt.