te controleren bij het oplossen van problemen met systeem-of applicatievertraging of wangedrag, is een van de eerste dingen om te controleren het systeemgeheugengebruik.
Dit artikel legt uit hoe je het RAM-gebruik in Linux kunt controleren met behulp van verschillende commando ‘ s.
vrij Commando #
free
is het meest gebruikte commando voor het controleren van het geheugengebruik van een Linux systeem. Het toont informatie over de totale, gebruikte en gratis geheugen.
in het algemeen wordt free
aangeroepen met de -h
optie die betekent dat de uitvoer in voor mensen leesbaar formaat wordt afgedrukt:
free -h
total used free shared buff/cache availableMem: 3936 1087 252 130 2596 2427Swap: 0 0 0
Dit is wat elke kolom betekent:
- totaal-de totale hoeveelheid geheugen die door de toepassingen kan worden gebruikt.
- Gebruikt-Gebruikt geheugen. Het wordt berekend als:
used = total - free - buffers - cache
- Vrij – Vrij / ongebruikt geheugen.
- gedeeld – deze kolom kan worden genegeerd; het wordt alleen getoond voor achterwaartse compatibiliteit.
- buff / cache-het gecombineerde geheugen dat wordt gebruikt door de kernelbuffers en paginacache en platen. Dit geheugen kan op elk moment worden teruggewonnen indien nodig door de toepassingen.
- beschikbaar-een schatting van het geheugen dat beschikbaar is voor het starten van nieuwe toepassingen, zonder te ruilen.
hetfree
Commando drukt informatie af voor het fysieke geheugen en de systeemswap.
top Commando #
top
is een opdrachtregelprogramma dat real-time informatie over de lopende processen weergeeft. Het toont ook de systeemsamenvatting, inclusief geheugengebruik.
om op Te roepen de opdracht gewoon type top
:
free -h
De uitvoer zal er ongeveer zo uitzien:
De kop van de output bevat informatie over het systeem in de totale, de vrije en gebruikte fysieke en swap geheugen.
de kolom %MEM
geeft informatie over het gebruikte deel van het beschikbare fysieke geheugen voor elk lopend proces.
/proc/meminfo #
De eenvoudigste manier om het RAM-geheugengebruik te controleren is door de inhoud van het /proc/meminfo
virtueel bestand weer te geven. Dit bestand wordt gebruikt door defree
top
ps
, en andere systeeminformatie commando ‘ s.
gebruik less
of cat
om de inhoud van het /proc/meminfo
bestand te bekijken:
cat /proc/meminfo
het bestand bevat een grote hoeveelheid informatie over het systeemgeheugen en swap gebruik:
MemTotal: 4030592 kBMemFree: 401804 kBMemAvailable: 2507504 kB...
de informatie van het /proc/meminfo
bestand kan worden ontleed en gebruikt in shell scripts.
ps_mem Script #
ps_mem
is een Python script dat per programma RAM geheugengebruik rapporteert. Het werkt met zowel Python 2 als 3 en kan worden geïnstalleerd met pip
:
sudo pip3 install ps_mem
draaien ps_mem
vereist beheerdersrechten:
sudo ps_mem
De uitvoer bevat het geheugengebruik van elk draaiend programma in oplopende volgorde:
Private + Shared = RAM usedProgram... 11.9 MiB + 20.2 MiB = 32.1 MiBnginx (4) 8.2 MiB + 42.4 MiB = 50.6 MiBsystemd-journald 55.8 MiB + 307.2 MiB = 363.0 MiBphp-fpm7.4 (6)233.9 MiB + 234.0 MiB = 467.9 MiBredis-server578.2 MiB + 578.6 MiB = 1.1 GiBmysqld--------------------------------- 2.2 GiB=================================
Dit script is handig als u wilt weten welk draaiend programma het grootste deel van uw systeemgeheugen gebruikt.
conclusie #
we hebben u een aantal commando ‘ s laten zien die u kunt gebruiken om het systeemgeheugengebruik te controleren.