« Terug (Geheugengebruik en Linux)
Linux en geheugenbeheer
Artikel voor het laatst bijgewerkt op .
Ieder proces, actief of inactief, neemt ruimte in binnen het beschikbare werkgeheugen. Dit werkgeheugen bestaat meestal uit het fysiek aanwezige geheugen, vaak in de vorm van een chip op het moederbord of als module. Het kan voor beginners zinvol zijn om beter te begrijpen hoe Linux met het geheugen omgaat. Zeker aangezien er een aantal misverstanden zijn.
Hoeveel geheugen heeft mijn systeem?
Vaak laat het systeem bij het opstarten zien hoeveel geheugen er in het systeem zit. Gaat het opstarten te snel of de informatie simpelweg niet direct zichtbaar? Geen punt, dan kunnen we dit bekijken via de grafische schil of als commando.
$ free -h
total used free shared buff/cache available
Mem: 1.9Gi 311Mi 205Mi 1.0Mi 1.4Gi 1.4Gi
Swap: 1.9Gi 44Mi 1.8Gi
In dit voorbeeld heeft het systeem iets minder dan 2GB aan geheugen. Kijken we de kolom ‘free’, dan zien we een angstvallig laag nummer (ongeveer 10% van het totaal). Echter als we kijken in de kolom ‘used’, dan valt op dat we slechts 311MB gebruiken. Kortom, er zit wat nuance in het geheugengebruik en dan vraagt om extra uitleg.
Gebruikt geheugen
Alle processen samen verbruiken een bepaalde hoeveelheid geheugen. Dit is wat we zien in de kolom ‘used’. Daar bovenop probeert Linux het geheugen zo vol mogelijk te stoppen, zodat het zo efficïent gebruikt kan worden. Dat zien we terug in de kolom ‘buff/cache’, dat staat voor buffers en cache, een tijdelijke opslag.
Linux gebruikt een algoritme om veelgebruikte data in een tijdelijke opslag te plaatsen. Zo is deze informatie sneller te raadplegen dan dat hij van een harde schijf moet komen. Met de komst van SSD-schijven zijn systemen veel sneller geworden, maar nog steeds evenaren ze niet de snelheid van het werkgeheugen.
Swap
Naast het normale geheugen, heeft Linux meestal ook swap-geheugen (of simpelweg swap). Om beter te begrijpen wat swap doet, behandelen we dit in het artikel Wat is swap-geheugen?