15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți
15.11.2023

Comenzi și instrumente pentru verificarea consumului de RAM în Linux

Monitorizarea utilizării RAM în Linux înseamnă interogarea subsistemului de memorie al kernelului pentru a obține metrici privind alocarea memoriei fizice, utilizarea swap-ului și dimensiunile setului rezident per proces. Cele mai directe metode folosesc utilitare integrate — free, top, htop, ps, vmstat și smem — fiecare expunând un nivel diferit al ierarhiei de memorie, de la totalurile la nivel de sistem până la dimensiunea setului proporțional per proces (PSS).

Presiunea excesivă asupra memoriei declanșează mecanismul Linux Out-of-Memory (OOM) killer, care termină forțat procesele pentru a recupera RAM. Înțelegerea comenzilor care dezvăluie ce metrici — și ce înseamnă acele metrici — reprezintă diferența dintre gestionarea reactivă a incidentelor și managementul proactiv al capacității. Acest ghid acoperă fiecare instrument major, sursele de date din kernel pe care le citesc și cazurile limită care îi surprind chiar și pe administratorii experimentați.

De ce contează monitorizarea RAM pe serverele Linux

Gestionarea memoriei în Linux este deliberat agresivă. Kernelul folosește tot RAM-ul disponibil ca memorie cache pentru pagini, pentru a accelera I/O-ul pe disc, ceea ce înseamnă că un sistem care raportează memorie liberă aproape zero nu se află neapărat sub presiune — poate pur și simplu să facă cache eficient. Interpretarea greșită a acestui comportament este una dintre cele mai frecvente greșeli la interpretarea valorilor brute ale memoriei.

Motive principale pentru monitorizarea continuă a RAM-ului:

  • Prevenirea OOM killer: Identificați procesele care consumă multă memorie înainte ca kernelul să termine serviciile critice.
  • Detectarea utilizării swap-ului: Activitatea intensă de swap (swapping) indică epuizarea RAM-ului și cauzează latență severă la I/O.
  • Diagnosticarea scurgerilor de memorie: Procesele cu RSS în creștere constantă în timp semnalează scurgeri la nivel de aplicație.
  • Planificarea capacității: Datele de tendință informează deciziile privind scalarea verticală sau redistribuirea sarcinilor de lucru.
  • Optimizarea performanței: Ajustarea vm.swappiness, a paginilor mari și a topologiei NUMA necesită date de bază privind memoria.

Într-un mediu de VPS Hosting unde resursele sunt partajate sau limitate de hypervisor, monitorizarea precisă a RAM-ului este deosebit de critică — atingerea unui plafon de memorie degradează silențios performanța înainte ca orice alertă să se declanșeze.

Înțelegerea terminologiei memoriei în Linux

Înainte de a rula orice comandă, trebuie să înțelegeți ce reprezintă de fapt coloanele din rezultate.

TermenDefiniție
TotalRAM fizic instalat (sau alocat mașinii virtuale)
UsedMemorie consumată activ de procese și structuri ale kernelului
FreeRAM complet neutilizat — adesea înșelător de scăzut
SharedMemorie utilizată de tmpfs și partajată între procese
Buff/CacheBuffere ale kernelului și cache de pagini — recuperabile la cerere
AvailableEstimare realistă a RAM-ului disponibil pentru noi alocări fără swap
Swap UsedDate evacuate din RAM în partiția de swap sau fișierul de swap
VSZ (Virtual Size)Spațiul total de adrese virtuale rezervat de un proces
RSS (Resident Set Size)RAM fizic ocupat în prezent de un proces
PSS (Proportional Set Size)RSS ajustat pentru memoria partajată — cea mai precisă metrică per proces
USS (Unique Set Size)Memorie deținută exclusiv de un proces; eliberată complet la ieșire

Informație critică: Folosiți întotdeauna coloana Available din free -h, nu coloana Free, când evaluați dacă un sistem are suficient RAM pentru o nouă sarcină de lucru. Coloana Free ignoră cache-ul recuperabil, ducând la alarme false.

Fișierul /proc/meminfo: Sursa autoritativă

Fiecare instrument descris în acest articol citește din /proc/meminfo, un fișier virtual menținut de kernel în timp real. Inspectarea sa directă vă oferă cele mai granulare date disponibile:

cat /proc/meminfo

Câmpuri cheie de urmărit:

  • MemTotal — RAM total utilizabil
  • MemFree — RAM complet inactiv
  • MemAvailable — RAM estimat disponibil pentru procese noi
  • Buffers — cache brut pentru blocuri de disc
  • Cached — cache de pagini pentru fișiere
  • SwapTotal / SwapFree — capacitate și disponibilitate swap
  • Dirty — memorie în așteptare pentru a fi scrisă pe disc (valorile mari indică presiune I/O)
  • HugePages_Total / HugePages_Free — starea alocării paginilor mari
  • Slab — cache pentru structuri de date ale kernelului (poate crește mult pe servere NFS sau de baze de date aglomerate)

Înțelegerea /proc/meminfo vă permite să interpretați rezultatele oricărui alt instrument cu context complet.

Verificarea RAM cu comanda free

free este cel mai rapid mod de a obține un instantaneu al memoriei la nivel de sistem. Citește direct din /proc/meminfo și formatează rezultatele într-un tabel lizibil.

Utilizare de bază

free

Rezultatele sunt în kilobytes implicit. Folosiți opțiuni pentru formate mai lizibile:

free -h        # Human-readable (MB/GB)
free -m        # Output in megabytes
free -g        # Output in gigabytes
free -s 5      # Refresh every 5 seconds (continuous monitoring)
free -h --si   # Use SI units (1000-based) instead of binary (1024-based)

Explicarea rezultatelor exemplu

              total        used        free      shared  buff/cache   available
Mem:           15Gi       4.2Gi       1.1Gi       312Mi       9.8Gi       10.9Gi
Swap:         2.0Gi       128Mi       1.9Gi

În acest exemplu, sistemul pare să aibă doar 1,1 GB liber, dar 10,9 GB sunt de fapt disponibili pentru procese noi, deoarece kernelul va recupera buff/cache la cerere. Acesta este cel mai important lucru de înțeles despre rezultatele free.

Caz limită: Utilizarea swap-ului ca semnal de avertizare

Chiar și o cantitate mică de utilizare a swap-ului (Swap: used > 0) pe un server de producție justifică investigarea. Înseamnă că kernelul a decis deja că unele pagini de memorie sunt mai bine stocate pe disc decât în RAM — un semn că setul de lucru depășește memoria fizică.

Verificarea RAM cu comanda top

top oferă o vizualizare în timp real, actualizată continuu, a utilizării resurselor sistemului, combinând statistici CPU și memorie cu o listă de procese clasificate.

top

Câmpuri cheie de memorie în top

În partea de sus a interfeței top, două linii afișează statistici de memorie:

MiB Mem :  16384.0 total,   1126.4 free,   4301.2 used,  10956.4 buff/cache
MiB Swap:   2048.0 total,   1920.0 free,    128.0 used.  11200.0 avail Mem

În tabelul de procese, cele mai relevante coloane de memorie sunt:

  • VIRT — dimensiunea memoriei virtuale (echivalent VSZ)
  • RES — memoria fizică rezidentă (RSS)
  • SHR — porțiunea de memorie partajată din RES
  • %MEM — procentul din RAM fizic total utilizat

Comenzi interactive utile în top

TastăAcțiune
MSortează procesele după utilizarea memoriei (%MEM)
PSortează după utilizarea CPU
kTermină un proces după PID
1Comută statisticile per nucleu CPU
fAdaugă/elimină câmpuri de afișare
WSalvează configurația curentă

Rularea top în mod non-interactiv

Pentru scripturi și capturarea jurnalelor, rulați top în modul batch:

top -b -n 1 | head -30

Aceasta generează un singur instantaneu — util pentru scripturile de monitorizare bazate pe cron.

Verificarea RAM cu htop

htop este un vizualizator de procese îmbunătățit, bazat pe ncurses, care prezintă aceleași date de bază ca top cu o interfață semnificativ mai utilizabilă. Nu este instalat implicit pe majoritatea distribuțiilor.

Instalare

# Debian / Ubuntu
apt-get install htop

# RHEL / CentOS / AlmaLinux / Rocky Linux
yum install htop
# or on newer versions:
dnf install htop

# Alpine Linux
apk add htop

Ce adaugă htop față de top

  • Bare de memorie codificate cu culori care disting memoria utilizată, bufferele și cache-ul dintr-o privire
  • Vizualizare arbore de procese orizontală și verticală (F5)
  • Suport pentru mouse pentru clic și derulare
  • Selecție multiplă pentru gestionarea în masă a proceselor
  • Căutare integrată (F3) și filtrare (F4) fără a memora combinații de taste
  • Afișarea directă a memoriei disponibile în mod proeminent în antet

Legenda culorilor barei de memorie htop

CuloareSemnificație
VerdeMemorie utilizată (procese)
AlbastruCache buffer
Galben/PortocaliuCache de pagini
RoșuSwap utilizat

Sfat pro: În htop, apăsați F2 (Setup) > Display Options > activați "Show CPU frequency" și "Detailed CPU time" pentru o imagine mai completă alături de datele de memorie.

Verificarea RAM cu comanda ps

ps (starea procesului) interoghează tabelul de procese al kernelului și poate fi sortat și filtrat pentru a identifica cei mai mari consumatori de memorie la un moment dat.

Sortarea proceselor după consumul de memorie

ps aux --sort=-%mem

Explicarea coloanelor din rezultate

ColoanăDescriere
USERProprietarul procesului
PIDID-ul procesului
%CPUUtilizarea CPU de la pornirea procesului
%MEMProcentul din RAM fizic utilizat (RSS / MemTotal)
VSZDimensiunea memoriei virtuale în KB
RSSDimensiunea setului rezident în KB
TTYTerminalul de control
STATStarea procesului (S=în așteptare, R=în execuție, Z=zombie, D=așteptare neîntreruptibilă)
STARTOra de pornire a procesului
TIMETimpul cumulativ CPU consumat
COMMANDNumele și argumentele comenzii

Comenzi practice pe o singură linie

Afișați primele 10 procese care consumă cel mai mult memorie cu rezultate lizibile:

ps aux --sort=-%mem | head -11

Afișați utilizarea memoriei pentru un nume specific de proces (ex. Apache):

ps aux | grep apache2 | awk '{sum += $6} END {print sum/1024 " MB"}'

Aceasta sumează valorile RSS ale tuturor proceselor worker apache2 — esențial pentru înțelegerea amprentei reale a serverelor web cu mai multe procese.

Avertisment important: ps afișează RSS, care numără dublu bibliotecile partajate. Dacă 20 de workeri Apache mapează fiecare aceeași bibliotecă partajată de 50 MB, ps raportează 1.000 MB de utilizare a bibliotecii partajate pentru toți, în timp ce costul fizic real este de doar 50 MB. Folosiți smem pentru o contabilizare precisă.

Verificarea RAM cu smem

smem este cel mai precis instrument de contabilizare a memoriei per proces disponibil pe Linux, deoarece raportează PSS (Proportional Set Size) — memoria partajată este împărțită proporțional între toate procesele care o mapează, eliminând problema dublei contorizări inerentă instrumentelor bazate pe RSS.

Instalare

# Ubuntu / Debian
apt-get install smem

# CentOS / RHEL 7
yum install smem

# RHEL 8+ / AlmaLinux / Rocky Linux
dnf install smem

# Alternatively, install via pip
pip install smem

Utilizare de bază

smem

Opțiuni utile smem

smem -r              # Sort by RSS (descending)
smem -s pss -r       # Sort by PSS (most accurate, descending)
smem -u              # Aggregate by user
smem -m              # Show system-wide memory map
smem -p              # Show percentages instead of raw KB
smem -k              # Show values in KB
smem -t              # Show totals row
smem --pie name      # Generate a pie chart (requires matplotlib)
smem -P apache2      # Filter by process name pattern

PSS vs RSS: De ce contează

Considerați un server care rulează 10 procese worker Node.js, fiecare partajând o bibliotecă runtime V8 de 100 MB:

  • RSS per proces: 200 MB (100 MB partajat + 100 MB privat)
  • RSS total raportat: 2.000 MB
  • PSS per proces: 110 MB (10 MB cotă din 100 MB + 100 MB privat)
  • PSS total raportat: 1.100 MB
  • RAM fizic efectiv utilizat: 1.100 MB

RSS supraestimează utilizarea cu aproape 2x în acest scenariu. Când luați decizii de scalare pe un Dedicated Server, utilizarea PSS din smem vă oferă adevărul absolut.

Verificarea RAM cu vmstat

vmstat (statistici memorie virtuală) oferă o vizualizare mai largă a activității de memorie, swap, I/O și CPU, fiind ideal pentru diagnosticarea presiunii asupra memoriei la nivel de sistem, mai degrabă decât a problemelor individuale ale proceselor.

vmstat 2 10    # Report every 2 seconds, 10 times

Coloane cheie de memorie

ColoanăDescriere
swpdMemorie virtuală utilizată (swap)
freeMemorie inactivă
buffMemorie utilizată ca buffere
cacheMemorie utilizată ca cache
siMemorie transferată din disc (KB/s)
soMemorie transferată pe disc (KB/s)

Semnal critic: Valorile non-zero si (swap-in) și so (swap-out) într-un flux vmstat activ indică swap activ — un semn definitiv de epuizare a memoriei. Chiar și vârfuri ocazionale în so pot cauza vârfuri de latență ale aplicației de sute de milisecunde.

Verificarea RAM cu sar (System Activity Reporter)

sar din pachetul sysstat înregistrează date istorice despre memorie, permițând analiza retrospectivă — ceva ce instrumentele în timp real nu pot oferi.

Instalare

apt-get install sysstat    # Debian/Ubuntu
yum install sysstat        # CentOS/RHEL

Utilizare

sar -r 1 5          # Memory stats every 1 second, 5 times
sar -r -f /var/log/sysstat/sa$(date +%d)   # Today's historical data
sar -S 1 5          # Swap statistics

sar este de neprețuit pentru a răspunde la întrebări precum „A existat un vârf de memorie la ora 3 dimineața care a cauzat blocarea aplicației?” — o întrebare la care niciun instrument în timp real nu poate răspunde după fapt.

Verificarea RAM cu /proc/<PID>/status și /proc/<PID>/smaps

Pentru analiza profundă per proces, kernelul expune hărți detaliate de memorie direct în /proc.

Verificare rapidă a memoriei per proces

cat /proc/$(pgrep nginx | head -1)/status | grep -E "VmRSS|VmPeak|VmSize|VmSwap"

Exemplu de rezultat:

VmPeak:   512340 kB
VmSize:   498120 kB
VmRSS:    102400 kB
VmSwap:        0 kB
  • VmPeak — dimensiunea maximă a memoriei virtuale atinsă vreodată de acest proces
  • VmRSS — dimensiunea curentă a setului rezident
  • VmSwap — cât din acest proces a fost transferat în swap

Hartă detaliată a memoriei cu smaps

cat /proc/$(pgrep mysql | head -1)/smaps | grep -E "^(Size|Rss|Pss|Shared|Private)"

Aceasta dezvăluie fiecare mapare de memorie (heap, stivă, biblioteci partajate, mapări anonime) cu valori individuale RSS și PSS — cea mai granulară vizualizare a memoriei disponibilă fără un profiler.

Compararea instrumentelor: Alegerea comenzii potrivite

InstrumentDomeniuTip metricăTimp realIstoricPrecizie memorie partajatăCel mai bun caz de utilizare
freeLa nivel de sistemTotal/DisponibilDaNuN/AVerificare rapidă a stării
topPer proces + sistemRSS, %MEMDaNuScăzută (RSS)Monitorizare interactivă
htopPer proces + sistemRSS, %MEMDaNuScăzută (RSS)Monitorizare interactivă (preferată)
psPer procesRSS, VSZInstantaneuNuScăzută (RSS)Scripturi, sortare
smemPer procesPSS, USS, RSSInstantaneuNuRidicată (PSS)Contabilizare precisă a memoriei
vmstatLa nivel de sistemSwap I/O, liberDaNuN/ADiagnosticarea presiunii swap
sarLa nivel de sistemToate metricileNuDaN/AAnaliza post-incident
/proc/meminfoLa nivel de sistemDate brute kernelDaNuN/AScripturi, automatizare
/proc/PID/smapsPer procesHartă completăDaNuRidicatăProfilare profundă a proceselor

Fluxuri de lucru practice pentru monitorizare

Fluxul de lucru 1: Triaj rapid (sub 60 de secunde)

free -h                          # Step 1: Is Available memory critically low?
vmstat 1 5                       # Step 2: Is active swapping occurring?
ps aux --sort=-%mem | head -15   # Step 3: Which processes are the top consumers?

Fluxul de lucru 2: Identificarea unei scurgeri de memorie

# Watch a specific process's RSS grow over time
watch -n 5 'ps -o pid,rss,vsz,comm -p $(pgrep your_app)'

# Or use smem with repeated snapshots
while true; do smem -P your_app -t; sleep 30; done

Fluxul de lucru 3: Analiza istorică post-incident

sar -r -f /var/log/sysstat/sa$(date +%d --date='yesterday')

Fluxul de lucru 4: Script de alertare automată

#!/bin/bash
THRESHOLD=90
USED_PCT=$(free | awk '/^Mem:/ {printf "%.0f", $3/$2 * 100}')
if [ "$USED_PCT" -gt "$THRESHOLD" ]; then
    echo "ALERT: RAM usage at ${USED_PCT}% on $(hostname)" | mail -s "Memory Alert" admin@example.com
fi

Acest script poate fi plasat într-un job cron pentru monitorizare automată continuă — o necesitate practică pe orice VPS cu cPanel de producție sau server bare-metal.

Avansat: Parametri de reglare a memoriei kernelului

Odată ce ați identificat presiunea asupra memoriei, acești parametri sysctl afectează direct comportamentul:

# View current swappiness (default: 60)
sysctl vm.swappiness

# Reduce swap tendency (recommended for databases: 10)
sysctl -w vm.swappiness=10

# Increase dirty page write-back aggressiveness
sysctl -w vm.dirty_ratio=15
sysctl -w vm.dirty_background_ratio=5

# Drop page cache manually (use with caution on production)
sync; echo 3 > /proc/sys/vm/drop_caches

vm.swappiness explicat: O valoare de 60 înseamnă că kernelul va începe să facă swap când RAM-ul este utilizat 40%. Pentru serverele de baze de date (MySQL, PostgreSQL, Redis), setarea acestuia la 10 menține datele în RAM mult mai mult timp, reducând dramatic latența I/O. Pentru sistemele desktop sau sistemele cu RAM limitat, valoarea implicită este mai potrivită.

Capcane frecvente și interpretări greșite

Capcana 1: Panică din cauza memoriei „free” scăzute

Așa cum s-a explicat anterior, Linux folosește intenționat RAM-ul liber ca cache. Un sistem cu 200 MB liber dar 8 GB disponibil este sănătos. Citiți întotdeauna coloana Available.

Capcana 2: Sumarea RSS pentru a estima utilizarea totală a memoriei

Sumarea valorilor ps RSS pentru toate procesele va depăși de obicei RAM-ul fizic total din cauza dublei contorizări a bibliotecilor partajate. Folosiți smem -t pentru un total precis al sistemului.

Capcana 3: Ignorarea cache-ului Slab

Pe clienții NFS aglomerați sau serverele cu multe fișiere mici, alocatorul Slab al kernelului poate consuma gigabytes de RAM. Verificați cat /proc/meminfo | grep Slab — această memorie este tehnic recuperabilă, dar nu apare în instrumentele la nivel de proces.

Capcana 4: Confundarea VSZ cu utilizarea reală a memoriei

O aplicație Java poate afișa 4 GB VSZ dar doar 512 MB RSS. VSZ include fișiere mapate în memorie, heap rezervat dar nealocat și biblioteci partajate — majoritatea dintre care nu sunt niciodată încărcate efectiv în RAM fizic.

Capcana 5: Neglijarea memoriei pe sarcinile de lucru containerizate

În interiorul unui container Docker, free afișează memoria totală a gazdei, nu limita cgroup a containerului. Folosiți cat /sys/fs/cgroup/memory/memory.usage_in_bytes și cat /sys/fs/cgroup/memory/memory.limit_in_bytes pentru metrici precise la nivel de container.

Configurarea monitorizării persistente a RAM-ului

Pentru mediile de producție, comenzile punctuale sunt insuficiente. Luați în considerare aceste abordări pentru vizibilitate continuă:

  • sysstat cu cron: Activează colectarea automată a datelor istorice sar.
  • Prometheus + Node Exporter: Colectează metrici /proc/meminfo și le expune pentru dashboard-uri Grafana.
  • Netdata: Monitorizare în timp real fără configurare, cu granularitate per secundă și detectare integrată a anomaliilor de memorie.
  • Zabbix sau Nagios: Alertare de nivel enterprise cu praguri de memorie configurabile și politici de escaladare.

Când rulați sarcini de lucru pe infrastructura de GPU Hosting, monitorizați și VRAM-ul GPU alături de RAM-ul sistemului — nvidia-smi --query-gpu=memory.used,memory.free --format=csv oferă metricile echivalente pentru memoria GPU.

Pentru mediile de web hosting gestionate prin VPS Control Panels, majoritatea panourilor includ grafice de memorie integrate — dar acestea sondează de obicei la intervale de 1–5 minute și vor rata vârfurile de scurtă durată pe care vmstat sau sar le-ar capta.

Matricea de decizie tehnică: Ce instrument să folosiți și când

ScenariuInstrument recomandatComandă
Verificare rapidă a stării sistemuluifreefree -h
Găsiți cei mai mari consumatori de memorie acumps sau htop`ps aux –sort=-%memhead -15`
Contabilizare precisă per processmemsmem -s pss -r
Diagnosticarea swap-ului activvmstatvmstat 1 10
Investigarea unui incident de memorie din trecutsarsar -r -f /var/log/sysstat/saDD
Profilarea profundă a unui proces specific/proc/PID/smapscat /proc/PID/smaps
Monitorizare continuă în producțiePrometheus + Node Exporter
Limitele de memorie ale containerelorsistemul de fișiere cgroupcat /sys/fs/cgroup/memory/memory.usage_in_bytes

Listă de verificare a concluziilor cheie

  • Verificați întotdeauna memoria Available din free -h, nu coloana Free, pentru a evalua spațiul disponibil real.
  • Folosiți vmstat 1 5 pentru a confirma sau exclude swap-ul activ înainte de a escalada o investigație.
  • Folosiți smem -s pss -r în loc de ps aux --sort=-%mem când aveți nevoie de cifre precise ale memoriei per proces — în special pe serverele cu multe procese care partajează biblioteci.
  • Instalați sysstat pe fiecare server de producție imediat după provizionare pentru a activa colectarea istorică a datelor sar.
  • Setați vm.swappiness=10 persistent în /etc/sysctl.conf pe serverele de baze de date pentru a minimiza utilizarea swap-ului.
  • Verificați /proc/meminfo pentru valorile Slab și Dirty când instrumentele standard nu explică presiunea observată asupra memoriei.
  • Pentru sarcinile de lucru containerizate, citiți fișierele de memorie cgroup — nu free — pentru limite și utilizare precise.
  • Pe mediile de hosting partajat sau VPS, stabiliți linii de bază ale memoriei în timpul funcționării normale, astfel încât anomaliile să fie imediat recognoscibile.

Întrebări frecvente

Care este diferența dintre memoria „free” și „available” în Linux?

„Free” este RAM fără nicio utilizare curentă. „Available” este estimarea realistă a memoriei care poate fi alocată noilor procese fără a declanșa swap-ul — include cache-ul de pagini recuperabil și bufferele. Pe un server Linux sănătos, „free” este adesea aproape de zero, în timp ce „available” rămâne ridicat. Folosiți întotdeauna „available” pentru evaluările de capacitate.

De ce suma tuturor valorilor RSS ale proceselor depășește RAM-ul fizic total?

RSS (Resident Set Size) contorizează memoria partajată — cum ar fi bibliotecile partajate — o dată per proces care o mapează. Dacă 50 de procese mapează fiecare o bibliotecă partajată de 100 MB, suma totală RSS se umflă cu 4.900 MB față de costul fizic real. Folosiți smem cu raportare PSS pentru a elimina această dublă contorizare.

Cum găsesc ce proces a declanșat Linux OOM killer?

Rulați dmesg | grep -i "oom|killed process" sau journalctl -k | grep -i oom. Kernelul înregistrează numele exact al procesului, PID-ul și statisticile de memorie în momentul evenimentului de terminare, inclusiv oom_score-ul tuturor proceselor evaluate.

Ce indică utilizarea ridicată a swap-ului și cât de gravă este?

Utilizarea susținută a swap-ului înseamnă că setul de lucru al sistemului depășește RAM-ul fizic. Kernelul compensează prin paginarea datelor pe disc, care este de obicei de 100–1.000 de ori mai lentă decât accesul la RAM. Chiar și activitatea modestă de swap cauzează latență măsurabilă a aplicației. Este un semnal definitiv pentru a reduce consumul de memorie, a crește RAM-ul sau a redistribui sarcinile de lucru.

Pot monitoriza utilizarea RAM în interiorul unui container Docker folosind comenzi standard Linux?

Comenzile standard precum free în interiorul unui container afișează RAM-ul total al gazdei, nu limita cgroup a containerului. Pentru metrici precise la nivel de container, citiți /sys/fs/cgroup/memory/memory.usage_in_bytes pentru utilizarea curentă și /sys/fs/cgroup/memory/memory.limit_in_bytes pentru limita configurată. Alternativ, folosiți docker stats <container_name> de pe gazdă pentru o vizualizare formatată.

15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți