Het monitoren van geheugengebruik is een belangrijke taak voor Linux-systeembeheerders en gebruikers die de prestaties van hun systeem willen verbeteren. Linux heeft verschillende command line tools die realtime informatie geven over geheugengebruik, waarmee je het gebruik kunt volgen en bestuderen. In dit artikel bekijken we enkele van de meest handige command line tools voor het controleren van geheugengebruik op Linux-systemen, waaronder cat, free, vmstat, top, htop, sar, en hoe je het /proc/meminfo bestand kunt begrijpen.
Belangrijkste Punten
- Het
cat /proc/meminfocommando toont realtime geheugenmetingen, zoals totaal beschikbaar RAM, vrij geheugen en gecachet geheugen. - Het
freecommando geeft een gebruiksvriendelijke weergave van geheugengebruikstatistieken, waaronder totaal, gebruikt, vrij, gedeeld, buff/cache en beschikbaar geheugen. - Het
vmstatcommando rapporteert een momentopname van het geheugengebruik van het systeem, inclusief processen, geheugen, paging, block IO, traps en CPU-activiteit. - Het
topcommando is een interactief hulpmiddel dat realtime informatie toont over het gebruik van systeembronnen, inclusief CPU- en geheugengebruik per proces. - Het
htopcommando is een verbeterde versie vantop, met een gebruiksvriendelijkere interface en extra functies zoals kleurcodering en procesbeheer via sneltoetsen.
Command Line Tools Gebruiken Om Geheugengebruik Te Controleren
Linux heeft verschillende command line tools waarmee je geheugengebruik in realtime kunt controleren. Deze tools zijn belangrijk voor systeembeheerders en gebruikers die de prestaties van hun systeem willen volgen en optimaliseren.
cat Commando
Het cat commando is een simpele manier om de inhoud van het /proc/meminfo bestand te bekijken, dat realtime informatie bevat over het geheugengebruik van het systeem.
cat /proc/meminfo
Dit commando toont verschillende geheugenmetingen, zoals:
- MemTotal: Totaal beschikbaar RAM
- MemFree: De hoeveelheid fysiek RAM die ongebruikt is
- MemAvailable: Een schatting van hoeveel geheugen beschikbaar is voor het starten van nieuwe applicaties, zonder swapping
- Buffers: De hoeveelheid tijdelijke opslag voor ruwe diskblokken
- Cached: De hoeveelheid fysiek RAM gebruikt als cachegeheugen
Hier is een voorbeelduitvoer:
MemTotal: 8116552 kB
MemFree: 385440 kB
MemAvailable: 1890092 kB
Buffers: 259300 kB
Cached: 1345384 kB
...
free Commando
Het free commando geeft een gebruiksvriendelijkere weergave van de geheugengebruikstatistieken. Het toont het totaal, gebruikt, vrij, gedeeld, buff/cache en beschikbaar geheugen.
free -h
De -h optie toont de uitvoer in een leesbaar formaat. Hier is een voorbeelduitvoer:
total used free shared buff/cache available
Mem: 7.8Gi 6.1Gi 387Mi 1.0Gi 1.3Gi 1.8Gi
Swap: 2.0Gi 1.1Gi 912Mi
Je kunt ook andere opties gebruiken zoals -b (bytes), -k (kibibytes), -m (mebibytes) of -g (gibibytes) om de uitvoereenheden te wijzigen.
vmstat Commando
Het vmstat commando rapporteert virtual memory statistieken en andere systeeminformatie. Het geeft een momentopname van het geheugengebruik van het systeem, inclusief processen, geheugen, paging, block IO, traps en CPU-activiteit.
vmstat
Hier is een voorbeelduitvoer:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 1132052 395700 259300 1345384 0 1 33 52 85 176 9 5 85 1 0
Het geheugengedeelte toont de hoeveelheid gebruikte swapruimte (swpd), vrij geheugen (free), buffergeheugen (buff) en cachegeheugen (cache).
top Commando
Het top commando is een interactief hulpmiddel dat realtime informatie toont over het gebruik van systeembronnen, inclusief CPU- en geheugengebruik per proces.
top
Hier is een vereenvoudigde voorbeelduitvoer:
top - 10:30:00 up 2 days, 18:00, 1 user, load average: 0.50, 0.68, 0.83
Tasks: 287 total, 1 running, 286 sleeping, 0 stopped, 0 zombie
%Cpu(s): 8.7 us, 5.0 sy, 0.0 ni, 85.3 id, 1.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7854.2 total, 386.4 free, 6119.4 used, 1348.4 buff/cache
MiB Swap: 2048.0 total, 938.2 free, 1109.8 used. 1711.6 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 user 20 0 1234.5m 123.4m 12.3m S 5.0 1.6 1:23.45 process_name
Het top commando biedt een dynamisch overzicht van de processen van het systeem en hun gebruik van bronnen. Je kunt processen sorteren op geheugengebruik met de M toets en processen beheren met verschillende interactieve commando's.
htop Commando
Het htop commando is een verbeterde versie van het top commando, met een gebruiksvriendelijkere interface en extra functies.
htop
Het htop commando toont een gekleurd, realtime overzicht van de processen en het gebruik van bronnen van het systeem. Het ondersteunt verticaal en horizontaal scrollen, zoeken naar processen en procesbeheer via sneltoetsen.
sar Commando
Het sar commando is een system activity reporter die verschillende aspecten van systeemprestaties volgt, inclusief geheugengebruik.
sar -r 1 5
Dit commando toont geheugengebruikstatistieken elke 1 seconde gedurende 5 iteraties. Hier is een voorbeelduitvoer:
07:30:01 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
07:30:02 PM 385600 6127104 94.07 259300 1345384 16327220 130.59 5132848 1347188 0
07:30:03 PM 385724 6126980 94.07 259300 1345380 16327220 130.59 5134528 1347168 0
07:30:04 PM 385620 6127084 94.07 259300 1345384 16327220 130.59 5132784 1347188 0
07:30:05 PM 385752 6126952 94.07 259300 1345380 16327220 130.59 5134336 1346992 0
07:30:06 PM 385600 6127104 94.07 259300 1345384 16327220 130.59 5132624 1347184 0
Average: 385659 6127045 94.07 259300 1345382 16327220 130.59 5133424 1347144 0
De uitvoer bevat metingen zoals kbmemfree (vrij geheugen in kilobytes), kbmemused (gebruikt geheugen in kilobytes) en %memused (percentage gebruikt geheugen).
/proc/meminfo Bestand
Het /proc/meminfo bestand is een virtueel bestand dat realtime informatie biedt over het geheugengebruik van het systeem. Je kunt dit bestand parsen met tools zoals awk of grep om specifieke metingen te krijgen.
Het /proc/meminfo bestand bevat verschillende geheugenmetingen, zoals MemTotal, MemFree, Buffers, Cached, Active en Inactive. Deze metingen geven een gedetailleerd overzicht van het geheugengebruik van het systeem.
Hier is een voorbeeld van het gebruik van awk om specifieke metingen te krijgen:
awk '/MemTotal/{print $2}' /proc/meminfo
Dit commando print de waarde van de MemTotal meting in kilobytes.
Deze command line tools bieden een krachtige en flexibele manier om geheugengebruik op Linux-systemen te volgen. Door deze tools te leren kennen, kunnen systeembeheerders en gebruikers het geheugengebruik van hun systeem volgen en optimaliseren.
GUI Tools Gebruiken Om Geheugengebruik Te Controleren
Hoewel command line tools krachtig en flexibel zijn, biedt Linux ook grafische tools voor het volgen van geheugengebruik. Deze tools zijn handig voor gebruikers die de voorkeur geven aan een visuele interface of minder vertrouwd zijn met de command line.
System Monitor App
De System Monitor app is een grafische applicatie die een realtime overzicht biedt van het gebruik van systeembronnen, inclusief geheugenverbruik. Het is beschikbaar op de meeste Linux-distributies met een desktopomgeving, zoals GNOME, KDE of Xfce.
Om de System Monitor app te openen:
- Open het Applicatiemenu of dashboard.
- Zoek naar "System Monitor" of ga naar de categorie Systeemhulpmiddelen.
- Start de System Monitor app.
De System Monitor app toont verschillende systeemmetingen, inclusief CPU-gebruik, geheugengebruik, netwerkactiviteit en disk I/O. In het tabblad Geheugen kun je de volgende informatie bekijken:
| Meting | Beschrijving |
|---|---|
| Totaal geheugen | De totale hoeveelheid fysiek geheugen (RAM) geïnstalleerd op het systeem. |
| Gebruikt geheugen | De hoeveelheid geheugen die momenteel gebruikt wordt door applicaties en het OS. |
| Gecachet geheugen | De hoeveelheid geheugen gebruikt voor het cachen van diskdata om prestaties te verbeteren. |
| Gebufferd geheugen | De hoeveelheid geheugen gebruikt voor tijdelijke opslag van ruwe diskblokken. |
| Vrij geheugen | De hoeveelheid geheugen die momenteel niet gebruikt wordt. |
| Swap gebruik | De hoeveelheid swapruimte die gebruikt en beschikbaar is. |
Example
Stel dat je een Linux-systeem hebt met 8 GB totaal geheugen. Wanneer je de System Monitor app opent, zie je de volgende uitsplitsing van geheugengebruik:
- Gebruikt geheugen: 4.5 GB
- Gecachet geheugen: 1.2 GB
- Gebufferd geheugen: 0.3 GB
- Vrij geheugen: 2 GB
Dit laat zien dat van de 8 GB totaal geheugen, 4.5 GB actief gebruikt wordt door applicaties en het besturingssysteem, 1.2 GB wordt gebruikt voor het cachen van diskdata, 0.3 GB wordt gebruikt voor het bufferen van diskblokken, en 2 GB momenteel vrij en beschikbaar is voor gebruik.
De System Monitor app biedt ook een grafische weergave van geheugengebruik in de loop van de tijd, waarmee je trends en mogelijke problemen kunt herkennen.
GNOME System Monitor
De GNOME System Monitor is een meer geavanceerd GUI-hulpmiddel voor het volgen van systeembronnen en processen. Het maakt deel uit van de GNOME-desktopomgeving, maar kan ook op andere Linux-distributies geïnstalleerd worden.
Om de GNOME System Monitor te starten:
- Open het Systeemmenu of de applicatielauncher.
- Ga naar de categorie Beheer of Systeemhulpmiddelen.
- Selecteer de applicatie "System Monitor".
Je kunt de GNOME System Monitor ook vanaf de command line starten met het volgende commando:
gnome-system-monitor
De GNOME System Monitor biedt gedetailleerde informatie over het gebruik van systeembronnen, inclusief geheugenverbruik. In het tabblad Bronnen kun je het volgende bekijken:
- Geheugen- en Swapgeschiedenis: Een grafische weergave van geheugen- en swapgebruik in de loop van de tijd.
- Geheugen: Het totale, gebruikte en vrije geheugen, evenals de hoeveelheid geheugen gebruikt voor caching en buffers.
- Swap: De totale, gebruikte en vrije swapruimte.
Example
Stel dat je een geheugenintensieve applicatie draait op je Linux-systeem, en je merkt dat het systeem traag aanvoelt. Je start de GNOME System Monitor om het probleem te onderzoeken. In het tabblad Bronnen zie je het volgende:
- Totaal geheugen: 16 GB
- Gebruikt geheugen: 14.5 GB
- Vrij geheugen: 1.5 GB
- Swap gebruikt: 2 GB
Deze informatie suggereert dat de geheugenintensieve applicatie een groot deel van het beschikbare geheugen gebruikt, waardoor het systeem swapruimte moet gebruiken. Het hoge geheugengebruik en swapverbruik kunnen leiden tot verminderde systeemprestaties.
De GNOME System Monitor laat je ook processen bekijken en beheren, waarmee je applicaties kunt vinden die mogelijk te veel geheugen gebruiken. Je kunt de processen sorteren op geheugengebruik om de meest geheugenvretende applicaties te identificeren en passende acties te nemen, zoals het sluiten van overbodige programma's of het optimaliseren van het geheugengebruik van de applicatie.
Door GUI-tools zoals de System Monitor app en de GNOME System Monitor tegebruiken, kunnen Linux-gebruikers eenvoudig geheugengebruik op hun systemen volgen en analyseren. Deze tools bieden een gebruiksvriendelijke interface en visuele weergaves, waardoor het makkelijker wordt om geheugenverbruik te begrijpen en te volgen.
Andere Commando's en Tools
Naast de populaire command line en GUI-tools die we behandeld hebben, zijn er verschillende andere tools voor het volgen van geheugengebruik op Linux-systemen. Een van deze tools is het btop commando.
btop Commando
Het btop commando is een moderne, lichtgewicht en cross-platform resource monitor die in de terminal draait. Het biedt een kleurrijke interface voor het bekijken van realtime gebruik en statistieken voor de CPU, geheugen, disks, netwerk en processen.
Functies van btop zijn onder andere:
- Aanpasbare interface
- Mogelijkheid om processen te filteren
- Boomstructuurweergave van processen
- Navigatie met muis, toetsenbord of touch
- Ondersteunt Linux, macOS en FreeBSD
Installatie
Om btop te installeren op verschillende Linux-distributies, kun je de volgende package managers gebruiken:
| Distributie | Package Manager | Installatiecommando |
|---|---|---|
| Debian-gebaseerd (bijv. Ubuntu) | apt |
sudo apt install btop |
| Red Hat-gebaseerd (bijv. CentOS) | dnf |
sudo dnf install btop |
| Arch Linux | pacman |
sudo pacman -S btop |
Op andere Linux-distributies of besturingssystemen moet je btop mogelijk vanaf de broncode bouwen. Raadpleeg de btop installatiegids voor meer informatie.
Gebruik
Zodra het geïnstalleerd is, kun je btop starten door het volgende commando in je terminal uit te voeren:
btop
In de btop interface kun je de volgende geheugengerelateerde informatie bekijken:
- Geheugengebruikgrafiek
- Totaal geheugen
- Gebruikt geheugen
- Vrij geheugen
- Buffers
- Gecachet geheugen
- Beschikbaar geheugen
- Swapgebruik





