๐ง Hoofdstuk 20.4: Geheugenproblemen Oplossen in Linux
Beheersing van geheugen is cruciaal voor systeemprestaties. Linux gebruikt RAM, buffers, swap en virtuele geheugentechnieken om processen efficiรซnt te ondersteunen.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐งฎ RAM en Geheugenbeheer
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ธ **RAM (Random Access Memory)**
โข Tijdelijke opslag voor snelle toegang door processen
โข Data verdwijnt bij herstart
๐ธ **Disk buffering**
โข Linux gebruikt ongebruikt RAM voor caching
โข Bevordert snelle toegang tot vaak gebruikte bestanden
๐ Belangrijke commandoโs:
Commando | Beschrijving
------------------|-----------------------------
`cat /proc/meminfo` | Volledig overzicht van RAM-gebruik
`ipcs -m` | Gedeelde geheugensegmenten
`free` | Vrij, gebruikt en cache-geheugen
`sar -r` | RAM-gebruik in tijdslijn
`vmstat` | RAM, swap, I/O en CPU-activiteit
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ RAM Bottlenecks
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐น Tekort aan RAM veroorzaakt:
โข Vertraagde respons
โข Intensief gebruik van swap
โข Lagere CPU-belasting, doordat processen wachten op geheugen
๐น Te veel RAM:
โข Kan leiden tot inefficiรซnt gebruik
โข Vaak zichtbaar bij idle servers
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฝ Swapping en Virtueel Geheugen
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ธ **Pages** = Kleinste geheugeneenheid in Linux
๐ธ **Swap** = Diskruimte als reservegeheugen bij RAM-tekort
๐ Analyse van Swap:
Commando | Beschrijving
--------------------|----------------------------------------
`swapon -s` | Toont actieve swapbestanden/-partities
`swapon -p` | Wijzig prioriteit van swapbronnen
`vmstat` | Geeft inzicht in swap-in/swap-out activiteit
๐ Swap toevoegen:
1. Format swap:
`mkswap /dev/sdX`
2. Activeer swap:
`swapon /dev/sdX`
3. Maak permanent via `/etc/fstab`:
`/dev/sdX none swap sw 0 0`
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐จ Out of Memory (OOM) Situaties
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Wanneer RAM en swap uitgeput raken, gebruikt Linux een noodmechanisme:
๐ธ **OOM Killer**
โข Beรซindigt processen met hoog geheugenverbruik
โข Wordt automatisch geactiveerd bij geheugentekort
๐ Instellingen beheren via `sysctl`:
Instelling | Functie
-------------------------------|---------------------------------------------------
`vm.overcommit_memory=1` | Overcommitting toestaan
`vm.overcommit_memory=2` | Beperk toewijzing tot overcommit_ratio
`vm.panic_on_oom=1` | Laat systeem crashen bij OOM (noodmaatregel)
`kernel.panic=10` | Herstart systeem 10 sec. na crash
Gebruik `sysctl -w` of wijzig `/etc/sysctl.conf` om instellingen persistent te maken.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Samenvatting
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ๏ธ Monitor RAM via `free`, `vmstat`, `sar`, en `meminfo`
โ๏ธ Controleer swapgebruik met `swapon` en `vmstat`
โ๏ธ Beheer swapruimte via `mkswap` en `/etc/fstab`
โ๏ธ Begrijp OOM-gedrag en pas kernelinstellingen aan
โ๏ธ Optimaliseer caching en vermijd overbelasting van swap