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.
| Termen | Definiție |
|---|---|
| Total | RAM fizic instalat (sau alocat mașinii virtuale) |
| Used | Memorie consumată activ de procese și structuri ale kernelului |
| Free | RAM complet neutilizat — adesea înșelător de scăzut |
| Shared | Memorie utilizată de tmpfs și partajată între procese |
| Buff/Cache | Buffere ale kernelului și cache de pagini — recuperabile la cerere |
| Available | Estimare realistă a RAM-ului disponibil pentru noi alocări fără swap |
| Swap Used | Date 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/meminfoCâmpuri cheie de urmărit:
MemTotal— RAM total utilizabilMemFree— RAM complet inactivMemAvailable— RAM estimat disponibil pentru procese noiBuffers— cache brut pentru blocuri de discCached— cache de pagini pentru fișiereSwapTotal/SwapFree— capacitate și disponibilitate swapDirty— memorie în așteptare pentru a fi scrisă pe disc (valorile mari indică presiune I/O)HugePages_Total/HugePages_Free— starea alocării paginilor mariSlab— 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ă
freeRezultatele 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.
topCâ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 |
|---|---|
M | Sortează procesele după utilizarea memoriei (%MEM) |
P | Sortează după utilizarea CPU |
k | Termină un proces după PID |
1 | Comută statisticile per nucleu CPU |
f | Adaugă/elimină câmpuri de afișare |
W | Salvează 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 -30Aceasta 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 htopCe 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
| Culoare | Semnificație |
|---|---|
| Verde | Memorie utilizată (procese) |
| Albastru | Cache buffer |
| Galben/Portocaliu | Cache de pagini |
| Roșu | Swap 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=-%memExplicarea coloanelor din rezultate
| Coloană | Descriere |
|---|---|
USER | Proprietarul procesului |
PID | ID-ul procesului |
%CPU | Utilizarea CPU de la pornirea procesului |
%MEM | Procentul din RAM fizic utilizat (RSS / MemTotal) |
VSZ | Dimensiunea memoriei virtuale în KB |
RSS | Dimensiunea setului rezident în KB |
TTY | Terminalul de control |
STAT | Starea procesului (S=în așteptare, R=în execuție, Z=zombie, D=așteptare neîntreruptibilă) |
START | Ora de pornire a procesului |
TIME | Timpul cumulativ CPU consumat |
COMMAND | Numele ș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 -11Afiș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 smemUtilizare de bază
smemOpț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 patternPSS 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 timesColoane cheie de memorie
| Coloană | Descriere |
|---|---|
swpd | Memorie virtuală utilizată (swap) |
free | Memorie inactivă |
buff | Memorie utilizată ca buffere |
cache | Memorie utilizată ca cache |
si | Memorie transferată din disc (KB/s) |
so | Memorie 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/RHELUtilizare
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 statisticssar 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 kBVmPeak— dimensiunea maximă a memoriei virtuale atinsă vreodată de acest procesVmRSS— dimensiunea curentă a setului rezidentVmSwap— 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
| Instrument | Domeniu | Tip metrică | Timp real | Istoric | Precizie memorie partajată | Cel mai bun caz de utilizare |
|---|---|---|---|---|---|---|
free | La nivel de sistem | Total/Disponibil | Da | Nu | N/A | Verificare rapidă a stării |
top | Per proces + sistem | RSS, %MEM | Da | Nu | Scăzută (RSS) | Monitorizare interactivă |
htop | Per proces + sistem | RSS, %MEM | Da | Nu | Scăzută (RSS) | Monitorizare interactivă (preferată) |
ps | Per proces | RSS, VSZ | Instantaneu | Nu | Scăzută (RSS) | Scripturi, sortare |
smem | Per proces | PSS, USS, RSS | Instantaneu | Nu | Ridicată (PSS) | Contabilizare precisă a memoriei |
vmstat | La nivel de sistem | Swap I/O, liber | Da | Nu | N/A | Diagnosticarea presiunii swap |
sar | La nivel de sistem | Toate metricile | Nu | Da | N/A | Analiza post-incident |
/proc/meminfo | La nivel de sistem | Date brute kernel | Da | Nu | N/A | Scripturi, automatizare |
/proc/PID/smaps | Per proces | Hartă completă | Da | Nu | Ridicată | 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; doneFluxul 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
fiAcest 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_cachesvm.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ă:
sysstatcu cron: Activează colectarea automată a datelor istoricesar.- 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
| Scenariu | Instrument recomandat | Comandă | |
|---|---|---|---|
| Verificare rapidă a stării sistemului | free | free -h | |
| Găsiți cei mai mari consumatori de memorie acum | ps sau htop | `ps aux –sort=-%mem | head -15` |
| Contabilizare precisă per proces | smem | smem -s pss -r | |
| Diagnosticarea swap-ului activ | vmstat | vmstat 1 10 | |
| Investigarea unui incident de memorie din trecut | sar | sar -r -f /var/log/sysstat/saDD | |
| Profilarea profundă a unui proces specific | /proc/PID/smaps | cat /proc/PID/smaps | |
| Monitorizare continuă în producție | Prometheus + Node Exporter | — | |
| Limitele de memorie ale containerelor | sistemul de fișiere cgroup | cat /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 5pentru a confirma sau exclude swap-ul activ înainte de a escalada o investigație. - Folosiți
smem -s pss -rîn loc deps aux --sort=-%memcând aveți nevoie de cifre precise ale memoriei per proces — în special pe serverele cu multe procese care partajează biblioteci. - Instalați
sysstatpe fiecare server de producție imediat după provizionare pentru a activa colectarea istorică a datelorsar. - Setați
vm.swappiness=10persistent în/etc/sysctl.confpe serverele de baze de date pentru a minimiza utilizarea swap-ului. - Verificați
/proc/meminfopentru valorileSlabșiDirtycâ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ă.
