când depanați încetinirea sistemului sau a aplicației sau comportamentul necorespunzător, unul dintre primele lucruri de verificat este utilizarea memoriei sistemului.
Acest articol explică cum să verificați utilizarea RAM în Linux folosind mai multe comenzi diferite.
comanda gratuită #
free
este comanda cea mai frecvent utilizată pentru verificarea utilizării memoriei unui sistem Linux. Afișează informații despre memoria totală, utilizată și liberă.
în general, free
este invocat cu -h
opțiune care înseamnă imprimarea ieșirii în format lizibil de om:
free -h
total used free shared buff/cache availableMem: 3936 1087 252 130 2596 2427Swap: 0 0 0
Iată ce fiecare coloană medie:
- total-cantitatea totală de memorie care poate fi utilizată de aplicații.
- folosit-memorie utilizată. Se calculează ca:
used = total - free - buffers - cache
- free – memorie liberă / neutilizată.
- partajat – această coloană poate fi ignorată; este afișată numai pentru compatibilitate inversă.
- buff / cache – memoria combinată utilizată de tampoanele kernel-ului și cache-ul paginii și plăcile. Această memorie poate fi recuperată în orice moment, dacă este nevoie de aplicații.
- Disponibil-o estimare a memoriei care este disponibilă pentru pornirea de noi aplicații, fără a schimba.
comandafree
imprimă informații pentru memoria fizică și schimbul de sistem.
top Command #
top
este un utilitar de linie de comandă care afișează informații în timp real despre procesele care rulează. De asemenea, arată rezumatul sistemului, inclusiv utilizarea memoriei.
pentru a invoca comanda pur și simplu tastați top
:
free -h
ieșirea va arăta cam așa:
antetul ieșirii include informații despre memoria fizică și swap totală, liberă și utilizată a sistemului.
coloana%MEM
oferă informații despre cota utilizată a memoriei fizice disponibile pentru fiecare proces care rulează.
/proc/meminfo #
cel mai simplu mod de a verifica utilizarea memoriei RAM este de a afișa conținutul/proc/meminfo
fișier virtual. Acest fișier este utilizat defree
top
ps
și alte comenzi de informații despre sistem.
utilizați less
sau cat
pentru a vizualiza conținutul fișierului/proc/meminfo
:
cat /proc/meminfo
fișierul include o cantitate mare de informații despre Memoria sistemelor și utilizarea swap-ului:
MemTotal: 4030592 kBMemFree: 401804 kBMemAvailable: 2507504 kB...
informațiile din fișierul/proc/meminfo
pot fi analizate și utilizate în scripturile shell.
Ps_mem Script #
ps_mem
este un script Python care raportează utilizarea memoriei RAM per program. Funcționează atât cu Python 2, cât și cu 3 și poate fi instalat cu pip
:
sudo pip3 install ps_mem
rulareaps_mem
necesită privilegii de administrator:
sudo ps_mem
ieșirea va include utilizarea memoriei fiecărui program care rulează în ordine crescătoare:
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=================================
acest script este util atunci când doriți să aflați ce program care rulează preia cea mai mare parte a memoriei sistemului.
concluzie #
v-am arătat mai multe comenzi pe care le puteți utiliza pentru a verifica utilizarea memoriei de sistem.