« Terug (Geheugengebruik en Linux)

Linux en geheugenbeheer

Artikel voor het laatst bijgewerkt op .

Voorkennis en diepgang (beginner)
Een introductie binnen het onderwerp en weinig voorkennis is nodig.
Een artikel gericht op iedereen die beginner is binnen het betreffende onderwerp. Lichte voorkennis nodig en indien van toepassing staan definities en termen uitgelegd aan de onderzijde van de pagina.
We gaan een beetje de diepte in met dit artikel. Lichte voorkennis is handig en het gebruik van technische termen en definities zijn soms onvermijdelijk. Commando's kunnen ook gebruikt of toegelicht worden. Zowel de definities als commando's staan uitgelegd aan de onderzijde van het artikel.
Af en toe gaan we wat verder de diepte in en technische termen en definities zijn onvermijdelijk, net als benodigde commando's om een taak voor elkaar te krijgen. Waar mogelijk staat uitleg over de definities en commando's aan de onderzijde van de pagina.
Dit artikel gaat de diepte in en vergt enige voorkennis. Lees de tekst rustig door en laat het weten als er na het lezen toch nog iets onduidelijk is in de tekst.

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?

Gebruikte termen en definities

Swap
Stukje gereserveerde ruimte op de harde schijf om het geheugengebruik te optimaliseren, voornamelijk bij hoog actief gebruik van het werkgeheugen

Gerelateerde artikelen

Meer leren over Linux en het gebruik ervan? Bekijk dan eens de volgende artikelen: