december 17, 2021

Hoe controleer ik het geheugengebruik in Linux

bekijk alle GNU / Linux gerelateerde FAQ

Hoe controleer ik het geheugengebruik in Linux met behulp van command-line en GUI opties?
we hebben fysieke RAM zoals 16GB en swap geheugen. Swap-geheugen is niets anders dan schijfruimte die uw Linux-computer in staat stelt om meer applicaties tegelijkertijd te draaien dan in het systeemgeheugen (RAM) past. Deze pagina legt verschillende commando ‘ s uit om het geheugengebruik en het gebruik in Linux te controleren met behulp van command-line en GUI tools.

advertentie

commando ‘ s om het geheugengebruik in Linux

te controleren uw Linux systeem moet op een optimaal niveau draaien. Geheugen speelt een cruciale rol in een Linux systeem. Een ontwikkelaar of doorgewinterde systeembeheerder moet de totale hoeveelheid vrije en gebruikte fysieke gegevens kennen, inclusief wisselgeheugen op de server. Het zou het beste zijn als je ook de buffers en caches van de kernel in de gaten hield.

het bestand/proc / meminfo

het bestand/proc / meminfo rapporteert statistieken over geheugengebruik op Linux. Gebruik de cat command / less command of grep command / egrep command als volgt op je Linux box:
cat /proc/meminfo
more /proc/meminfo

hoe het geheugengebruik in Linux
te controleren elke regel van het/proc / meminfo bestand bestaat uit een parameternaam, gevolgd door een dubbele punt, de parameterwaarde en een optieeenheid van meting. Bijvoorbeeld, “kB”.

parameters voor geheugengebruik

velden beschrijvingstabel
Parameter beschrijving
MemTotal totaal bruikbaar RAM (d.w.z., fysiek RAM minus een paar gereserveerde bits en de kernel binaire code).
MemFree de som van LowFree+HighFree.
MemAvailable (sinds Linux 3.14) een schatting van hoeveel geheugen beschikbaar is voor het starten van nieuwe applicaties, zonder te ruilen.
Buffers relatief tijdelijke opslag voor ruwe schijfblokken die niet enorm groot zouden moeten worden (20MB of zo).
cache in-memory cache voor bestanden die van de schijf worden gelezen (de paginacache). Bevat geen SwapCached.
SwapCached geheugen dat eenmaal is uitgewisseld, wordt terug gewisseld, maar bevindt zich nog steeds in het wisselbestand.
actief geheugen dat recenter is gebruikt en gewoonlijk niet wordt teruggewonnen, tenzij het absoluut noodzakelijk is.
Inactief geheugen dat minder recent is gebruikt. Het komt meer in aanmerking om voor andere doeleinden te worden teruggevorderd.
Hoogtotaal totaal bedrag aan hoogmem. Highmem is al het geheugen boven ~ 860MB fysiek geheugen. Highmem gebieden zijn voor gebruik door user-space programma ‘ s, of voor de pagina cache. De kernel moet trucs gebruiken om toegang te krijgen tot dit geheugen, waardoor het trager is om toegang te krijgen dan lowmem.
HighFree hoeveelheid vrije highmem.
LowFree hoeveelheid vrij lowmem.
Swaptotaal totaal beschikbare swapruimte.
SwapFree hoeveelheid swap-ruimte die momenteel niet wordt gebruikt.
Vuil geheugen dat wacht om terug geschreven te worden naar de schijf.
Writeback geheugen dat actief terug wordt geschreven naar de schijf.
AnonPages pagina ‘ s zonder bestandsbacked die zijn toegewezen aan paginatabellen met gebruikersruimte.
toegewezen bestanden die in het geheugen zijn toegewezen (met mmap (2)), zoals bibliotheken.
Shmem hoeveelheid geheugen verbruikt in tmpfs (5) bestandssystemen.
KReclaimable Kerneltoewijzingen die de kernel zal proberen terug te winnen onder geheugendruk. Inclusief SReclaimable (hieronder), en andere directe toewijzingen met een krimp.
Slab in-kernel datastructuren cache. (Zie slabinfo (5).)
SReclaimable deel van de Slab, dat kan worden teruggewonnen, zoals caches.
SUnreclaim deel van de plak, dat niet kan worden teruggewonnen op geheugendruk.
KernelStack hoeveelheid geheugen toegewezen aan kernelstacks.
PageTables hoeveelheid geheugen toegewezen aan het laagste niveau van paginatabellen.
NFS_Unstable NFS-pagina ‘ s verzonden naar de server, maar nog niet vastgelegd voor stabiele opslag.
Bounce geheugen gebruikt voor “bounce-buffers”van blokapparaat.
Writebacktmp geheugen gebruikt door FUSE voor tijdelijke writeback buffers.
CommitLimit dit is de totale hoeveelheid geheugen die momenteel beschikbaar is voor het systeem, uitgedrukt in kilobytes. Deze limiet wordt alleen aangehouden als strikte overcommit accounting is ingeschakeld (mode 2 in /proc/sys/vm/overcommit_memory). De limiet wordt berekend volgens de formule beschreven onder /proc/sys/vm/overcommit_memory.
Commited_as de hoeveelheid geheugen die momenteel aan het systeem is toegewezen. Het gecommit geheugen is een som van al het geheugen dat door processen is toegewezen, zelfs als het nog niet door hen is “gebruikt”. Een proces dat 1 GB geheugen toewijst (met malloc (3) of iets dergelijks), maar slechts 300 MB van dat geheugen aanraakt, zal verschijnen als het gebruik van slechts 300 MB geheugen, zelfs als het de adresruimte toegewezen heeft voor de gehele 1 GB. Deze 1GB is geheugen waaraan de VM heeft” gecommit ” en dat op elk moment door de toewijzingstoepassing kan worden gebruikt. Met strict overcommit ingeschakeld op het systeem (mode 2 in /proc/sys/vm/overcommit_memory), worden toewijzingen die de CommitLimit zouden overschrijden niet toegestaan. Dit is handig als men moet garanderen dat processen niet mislukken als gevolg van gebrek aan geheugen zodra dat geheugen met succes is toegewezen.
Vmalloctotaal Totale grootte van het vmalloc-geheugengebied.
Vmalloc gebruikt hoeveelheid vmalloc oppervlakte die wordt gebruikt. Sinds Linux 4.4 wordt dit veld niet meer berekend en is het hard gecodeerd als 0. Zie / proc / vmallocinfo.
VmallocChunk grootste aaneengesloten blok van vmalloc-gebied dat vrij is. Sinds Linux 4.4 wordt dit veld niet meer berekend en is het hard gecodeerd als 0. Zie / proc / vmallocinfo.
LazyFree toont de hoeveelheid geheugen gemarkeerd door madvise (2) MADV_FREE.
AnonHugePages Grote pagina ‘ s die niet door een bestand worden ondersteund en zijn toegewezen aan paginatabellen met gebruikersruimte.
ShmemHugePages geheugen gebruikt door shared memory (shmem) en tmpfs (5) toegewezen met enorme pagina ‘s
ShmemPmdMapped gedeeld geheugen toegewezen aan gebruikersruimte met enorme pagina’ s.
CmaTotal totaal CMA (Contiguous Memory Allocator) pagina ‘ s.
CMA-vrije CMA-pagina ‘ s (Contiguous Memory Allocator).
HugePages_Total de grootte van de pool van enorme pagina ‘ s.
HugePages_Free het aantal enorme pagina ‘ s in de pool die nog niet zijn toegewezen.
HugePages_Rsvd dit is het aantal enorme pagina ‘ s waarvoor een toewijzing uit de pool is gedaan, maar nog niet is toegewezen. Deze gereserveerde enorme pagina ’s garanderen dat een toepassing in staat zal zijn om een enorme pagina toe te wijzen uit de pool van enorme pagina’ s op fouttijd.
HugePages_Surap dit is het aantal grote pagina ‘ s in de pool boven de waarde in /proc/sys/vm/nr_hugepages. Het maximum aantal overtollige Grote pagina ‘ s wordt gecontroleerd door /proc/sys/vm/nr_overcommit_hugepages.
Hugepagesize de grootte van enorme pagina ‘ s.
DirectMap4k Aantal bytes RAM lineair toegewezen door de kernel in 4KB-pagina ‘ s.
DirectMap4M Aantal bytes RAM lineair toegewezen door kernel in 4MB pagina ‘ s.
DirectMap2M Aantal bytes RAM lineair toegewezen door kernel in 2 MB pagina ‘ s.
DirectMap1G x86 met CONFIG_X86_64 en CONFIG_X86_DIRECT_GBPAGES ingeschakeld.

we kunnen het bestand filteren met het grep commando of egrep commando als volgt:
grep -E --color 'Mem|Cache|Swap' /proc/meminfo
Linux proc meminfo bestand

Free commando gebruiken om gebruikt en vrij geheugengebruik

te controleren de uitvoer van/proc / meminfo is krachtig, maar niet gebruiksvriendelijk. Daarom moeten we het gratis commando gebruiken. Het free commando toont de hoeveelheid vrij en gebruikt geheugen in het Linux systeem. Bijvoorbeeld::
free
wil je menselijk leesbare output zien? Proberen:
free -h
free --human

Voorbeelduitgangen:

 total used free shared buff/cache availableMem: 94Gi 15Gi 672Mi 428Mi 78Gi 77GiSwap: 0B 0B 0B
de weergegeven kolommen zijn als volgt:
Kolom Beschrijving
totaal Totaal geïnstalleerde geheugen
gebruikt Gebruikt geheugen (berekend als totaal – gratis – buffers – cache)
gratis Ongebruikt geheugen (MemFree en SwapFree in /proc/meminfo)
gedeelde Geheugen meestal gebruikt door tmpfs (Shmem in /proc/meminfo)
buffers Geheugen dat wordt gebruikt door de kernel buffers (Buffers in /proc/meminfo)
cache Geheugen wordt gebruikt door de pagina cache en platen (gecached en SReclaimable in / proc / meminfo)
buff / cache som van buffers en cache
beschikbaar schatting van hoeveel geheugen beschikbaar is voor het starten van nieuwe toepassingen, zonder te ruilen.

we kunnen het afdrukken van gratis Commando uitvoer Elke n seconden herhalen. Bijvoorbeeld, print output elke 5 seconden en sluit af na tien van dergelijke herhalingen (tellingen) op het scherm:
free -s 5 -c 10
wij kunnen output van vrij bevel als volgt controleren:
free
free -k
free -g
free -m

het Beheersen van gratis commando-uitvoer
de Optie Toon output in
-b, –bytes
–kilo kb
–mega mb
–giga gb
–tera terabyte
–peta petabytes
-k, –kibi kibibytes
-m, –mebi mebibytes
-g, –gibi gibibytes
–tebi tebibytes
–pebi pebibytes

vmstat commando

De vmstat opdracht is krachtig, en het geeft informatie over Linux hardware, zoals:

  • Processen
  • Memory
  • Paging
  • Blok IO
  • Vallen
  • Schijven
  • CPU-activiteit

Open de terminal en typ de volgende opdracht:
vmstat
Voorbeeld van een sessie van mijn Ubuntu Linux desktop:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 11434840 2567516 10238916 0 0 26 75 142 55 13 5 82 0 0

de-w te zien een breed output op het scherm:
vmstat -w

procs -----------------------memory---------------------- ---swap-- -----io---- -system-- --------cpu-------- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 11405404 2567988 10324528 0 0 26 75 142 58 13 5 82 0 0

VELD BESCHRIJVING VOOR VM-MODUS (Geheugen en Swap)
Veld Beschrijving
swpd de hoeveelheid virtueel geheugen gebruikt.
vrij de hoeveelheid inactief geheugen.
buff de hoeveelheid geheugen die als buffers wordt gebruikt.
cache de hoeveelheid geheugen die als cache wordt gebruikt.
inact de hoeveelheid inactief geheugen. (- een optie)
actief de hoeveelheid actief geheugen. (- een optie)
si hoeveelheid geheugen die van schijf (en) is verwisseld.
dus hoeveelheid geheugen geruild naar schijf (/s).

top en htop Commando

de top en htop commando ‘ s bieden een dynamische real-time weergave van een draaiend Linux systeem. Dit omvat informatie over:

Patreon supporters alleen gidsen 🤓
  • geen advertenties en tracking
  • diepgaande handleidingen voor ontwikkelaars en systeembeheerders bij Opensourceflare✨
  • Word lid van mijn Patreon om onafhankelijke contentmakers te ondersteunen en begin met het lezen van de nieuwste handleidingen:
    • het instellen van Redis sentinel-cluster op Ubuntu of Debian Linux
    • het Instellen van SSH Sleutels Met YubiKey als twee-factor authenticatie (U2F/FIDO2)
    • het instellen van Mariadb Galera cluster op Ubuntu of Debian Linux
    • Een podman tutorial voor beginners – deel I (Linux containers zonder Docker en in daemonless modus)
    • Hoe te beschermen Linux tegen malafide USB-apparaten met behulp van USBGuard
    • Als uw domein niet verzenden van e-mail, kunt u de DNS-instellingen om te voorkomen dat spoofing en phishing

Join Patreon ➔

  • Hardware-en CPU-gebruik
  • Linux-uptime
  • geheugen-en swap-gebruik
  • systeemprocessen en meer

houd er rekening mee dat de htop standaard niet is geïnstalleerd. Maar u kunt het eenvoudig installeren op CentOS, Debian, Ubuntu en andere besturingssystemen.

voer het volgende commando uit:
top
htop

rapporteer geheugengebruik met gedeeld geheugen proportioneel verdeeld

de smem tool rapporten:

  • fysiek geheugengebruik rekening houdend met gedeelde geheugenpagina ‘ s. Unshared geheugen wordt gerapporteerd als de USS (Unique Set Size).
  • gedeeld geheugen wordt gelijkmatig verdeeld over de processen die dat geheugen delen.
  • het unshared memory (USS) plus het aandeel van een proces in gedeeld geheugen wordt gerapporteerd als de PSS (Proportional Set Size).
  • de USS en PSS bevatten alleen fysiek geheugengebruik. Ze bevatten geen geheugen dat is verwisseld naar schijf.
  • geheugen kan worden gerapporteerd door een proces, door een gebruiker, door toewijzing of door het hele systeem. Zowel tekstmodus als grafische uitvoer zijn beschikbaar.

Men kan installeren smem met behulp van het commando apt/apt-get-opdracht op een Debian/Ubuntu Linux:
sudo apt install smem
Voer het als volgt:
smem
# show whole system #
smem -w
# show meme usage about specifc user #
smem -u vivek
smem -u nginx
# get help #
man smem
smem --help

User Count Swap USS PSS RSS vivek 139 0 7593240 8210344 13017360

Het controleren geheugengebruik in Linux met behulp van de GUI

System Monitor is een GUI voor Linux applicatie waarbij je kunt zien welke programma ‘ s actief zijn en hoeveel processortijd, geheugen en schijfruimte wordt gebruikt. We kunnen de systeemmonitor openen vanuit het activiteitenoverzicht. Druk op de Super toets op uw toetsenbord. U kunt uw vensters en toepassingen in het overzicht zien. U kunt ook gewoon beginnen met typen om uw toepassingen te zoeken, zoals Systeemmonitor. Het tabblad Bronnen geeft aan hoeveel geheugen (RAM) van uw computer wordt gebruikt. Om te controleren welke processen het meeste geheugen gebruiken: klik op het tabblad Processen. Klik op de koptekst geheugen om de processen te sorteren op basis van geheugengebruik.

zie documentatie voor meer informatie.

samenvattend

u hebt geleerd hoe u gebruik van Linux-geheugen (RAM) op Linux kunt vinden met behulp van GUI-en CLI-gereedschappen.

🐧 de nieuwste tutorials over Linux, Open Source, & DevOps via
RSS-feed ➔ Wekelijkse e-mail nieuwsbrief ➔

ADVERTENTIE

Categorie Lijst van Unix-en Linux-commando ‘ s
Download managers wget
Documentatie help • mandb • man • pinfo
schijfruimte analyzers df • duf • ncdu • pydf
bestandsbeheer cat • cp • minder • mkdir • meer • boom
Firewall Alpine Ijlings • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04
Linux Bureaublad-apps, Skype • Spotify • VLC 3
Moderne utilities bat • exa
Netwerk Utilities NetHogs • dig • host • ip • nmap
OpenVPN CentOS 7 • CentOS 8 • Debian 10 • Debian-8/9 • Ubuntu 18.04 • Ubuntu 20.04
Package Manager apk • apt
Processen Management bg • chroot • cron • niet aanvaardt • fg • blik • gtop • iotop • banen • killall • doden • pidof • pstree • pwdx • tijd • vtop
Zoeken ag • grep • whereis • die
Shell builtins compgen • echo • printf
tekstverwerking knippen • rev
Informatie voor de Gebruiker groepen • id • lastcomm • laatste * lid / libuser-lid * logname * members * users * whoami * who * w
WireGuard VPN Alpine * CentOS 8 * Debian 10 * Firewall * Ubuntu 20.04

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.