Cum se verifică utilizarea memoriei Linux

How Check Linux Memory Usage



Memoria sau RAM (Random Access Memory) este foarte importantă pentru un computer. Programele pe care le rulați pe computer stochează mici informații în memorie RAM, astfel încât să o poată accesa când este necesar cât mai repede posibil.

RAM-ul este foarte rapid și este mai aproape de CPU (Unitatea Centrală de Procesare) a computerului. Deoarece RAM este mai aproape de CPU-ul computerului, CPU are acces direct la RAM. Astfel, latența accesului la date este foarte mică în comparație cu dispozitivele de stocare precum HDD sau SSD. De aceea, toate programele folosesc RAM pentru stocarea datelor cache.







Din păcate, memoria RAM este foarte scumpă și limitată. Fără suficientă memorie RAM gratuită, computerul nu va funcționa corect. Programele care rulează pe computerul dvs. se pot bloca sau opri. Este posibil să nu puteți porni niciun program nou. În cel mai rău caz, întregul sistem se va bloca și va deveni inutilizabil.



Verificarea utilizării RAM este una dintre cele mai importante sarcini din Linux. Puteți diagnostica multe probleme Linux dacă puteți monitoriza utilizarea RAM a sistemului dvs. Linux.



Există multe instrumente pentru a verifica utilizarea memoriei în Linux. În acest articol, vă voi arăta câteva dintre cele mai comune moduri de a verifica utilizarea memoriei pe Linux. Deci sa începem.





Unitățile de memorie ale computerului:

În acest articol, mă veți vedea folosind termenii kilobytes, megabytes, gigabytes, kibibytes, mebibytes, gibibytes și așa mai departe. Nu vă confundați. Le voi explica în această secțiune.

Toate stocările computerului utilizează aceeași unitate. Acest lucru este foarte important de înțeles.



Unitățile de stocare pentru computer sunt prezentate mai jos.

  • Pic: Cea mai mică unitate de stocare pe computer este puțin. Un pic poate conține fie 0, fie 1. Asta este.
  • Octet: 8 biți formează un octet.
  • Kilobytes: 1.000 de octeți formează un kilobyte.
  • Megabyte: 1.000 de kilobyți formează un megabyte.
  • Gigabyte: 1.000 megabytes formează un gigabyte.
  • Terabyte: 1.000 de gigaocteți formează un terabyte.
  • Petabyte: 1.000 de terabyți formează un petabyte.
  • kibibytes: 1.024 octeți formează un kibibyte.
  • Mebibyte: 1.024 kibibiți formează un mebibyte.
  • Gibibyte: 1.024 mebibiți formează un gibibyte.
  • Tebibyte: 1.024 gibibiți formează un tebibyte.
  • Pebibyte: 1.024 tebibyte formează un pebibyte.

În ceea ce privește octeții, unitățile de stocare a computerului sunt după cum urmează.

  • Kilobytes: 1.000 de octeți sau 103octeți.
  • Megabyte: 1.000.000 de octeți sau 106octeți.
  • Gigabyte: 1.000.000.000 de octeți sau 109octeți.
  • Terabyte: 1.000.000.000.000 octeți sau 1012octeți.
  • Petabyte: 1.000.000.000.000.000 octeți sau 10cincisprezeceocteți.
  • kibibytes: 1024 octeți sau 210octeți.
  • Mebibyte: 1.048.576 octeți sau 2douăzeciocteți.
  • Gibibyte: 1.073.741.824 octeți sau 230octeți.
  • Tebibyte: 1.099.511.627.776 octeți sau 240octeți.
  • Pebibyte: 1.125.899.906.842.624 sau 2cincizeciocteți.

Acum că cunoașteți unitățile de stocare a computerului, ar trebui să puteți converti de la o unitate la alta foarte ușor.

Observați că kilobyte, megabyte, gigabyte, terabyte și petabyte sunt puteri de 10 octeți. Dar, kibibyte, mebibyte, gibibyte, tebibyte și pebibyte sunt puteri de 2 octeți. Pentru noi, oamenii, este ușor de calculat în puteri de 10 (sistem numeric zecimal), deoarece avem 10 degete. Dar, pentru computere, este mai ușor de calculat în puteri de 2 (sistem numeric binar). Deci, computerele folosesc puteri de 2 pentru a reprezenta cantitatea de stocare sau memorie.

Unitățile au notații stenografice sau simboluri. Le veți vedea foarte frecvent în timp ce verificați utilizarea memoriei în Linux.

Notările sau simbolurile abreviate sunt date mai jos.

  • Octet: B
  • Kilobytes: KB sau kB
  • Megabyte: MB
  • Gigabyte: GB
  • Terabyte: DE ASEMENEA
  • Petabyte: PB
  • Octet: B
  • kibibytes: KiB sau K
  • Mebibyte: MiB sau M
  • Gibibyte: GiB sau G
  • Tebibyte: TiB sau T
  • Pebibyte: PiB sau P

Este posibil ca unele programe să nu respecte acest standard și să utilizeze aceste prescurtări sau simboluri în mod interschimbabil. Diferența nu este atât de mare între aceste unități (adică kilobyte vs kibibyte) oricum. Nu vă faceți griji.

Memorie vs Swap în Linux:

În Linux, memoria fizică este numită memorie . Când memoria fizică se umple, Linux mută în mod inteligent datele accesate mai rar din memorie într-o anumită parte a discului (HDD sau SSD). Această parte a discului se numește swap.

Când nu există memorie fizică gratuită disponibilă, unele date de acces mai puțin frecvente sunt mutate în swap. Acest lucru eliberează memoria fizică și astfel salvează sistemul de blocare.

Discul de schimb este foarte lent în comparație cu memoria RAM sau memoria fizică. Dacă un sistem Linux folosește spațiul swap pe scară largă, sistemul poate deveni foarte lent și nu răspunde. Deci, un sistem Linux nu ar trebui să utilizeze spațiul de swap. Vrem să o evităm cât mai mult posibil. Când un sistem Linux începe să umple spațiul de swap, este un semn că sistemul Linux are nevoie de mai multă memorie fizică. Este o idee bună să adăugați mai mult RAM sau memorie fizică la sistem.

Verificarea utilizării memoriei gratuit:

liber este o comandă care afișează informațiile de utilizare a memoriei totale ale sistemului. liber este livrat în mod implicit cu aproape toată distribuția Linux.

Puteți verifica utilizarea memoriei cu liber comandați după cum urmează:

$liber

The liber comanda fără opțiuni din linia de comandă afișează informațiile de utilizare a memoriei și a swap-ului în unitatea Kibibytes.

În mod implicit, fișierul liber comanda arată bufferele și utilizarea memoriei cache în buff / cache coloană. Dacă doriți să vedeți tampoanele și memoria cache separat, executați comanda gratuită cu -în opțiune după cum urmează:

$liber -în

După cum puteți vedea, tampoane și cache informațiile despre utilizarea memoriei sunt afișate în diferite coloane.

Comanda gratuită afișează următoarele informații:

total: Aceasta este memoria fizică totală disponibilă și spațiul de swap (în kibibiți) al sistemului dvs. Linux.

folosit: Aceasta este cantitatea de memorie fizică și spațiu de schimb folosită de sistemul dvs. Linux. Observați că 0 KiB de spațiu swap este utilizat în mașina mea Ubuntu. Deci, nu folosește deloc swap-ul. Asta e foarte bine.

liber: Aceasta este cantitatea de memorie fizică care este încă neutilizată.

impartit: Aceasta este cantitatea de memorie care este partajată de diferite procese sau programe. Unul sau mai multe programe Linux pot utiliza aceeași bibliotecă sau apeluri funcționale. În loc să aloce memorie de mai multe ori pentru aceleași lucruri, Linux împarte în mod inteligent lucrurile comune între aceste procese sau programe. Acest lucru economisește memoria fizică. The tmpfs sisteme de fișiere (de ex. / dev / shm , /alerga , / run / lock , / run / user / , / sys / fs / cgroup etc.) folosesc, de asemenea, memorie fizică care este partajată tuturor proceselor și programelor din Linux.

tampoane: Aceasta este cantitatea de memorie utilizată de buffer-urile kernel. Un buffer este un bloc de memorie în care datele sunt păstrate temporar în timp ce se mută datele dintr-un loc în altul.

cache: Aceasta este cantitatea de memorie fizică utilizată pentru datele cache.

buff / cache: Aceasta este cantitatea totală de memorie fizică utilizată pentru buffere și cache.

disponibil: Aceasta este memoria fizică disponibilă estimată, care poate fi utilizată pentru lansarea de noi aplicații fără schimb.

De asemenea, puteți utiliza diverse opțiuni din linia de comandă pentru a vedea memoria și a schimba informațiile de utilizare în diferite unități.

De exemplu, pentru a vedea memoria și a schimba informațiile de utilizare în octeți, rulați liber comanda cu -b sau –Bytes opțiune după cum urmează:

$liber -b

Pentru a vedea informațiile de utilizare a memoriei și a swapului în kibibiți (implicit), rulați liber comanda cu -la sau –Kibi opțiune după cum urmează:

$liber -la

Pentru a vedea memoria și a schimba informațiile de utilizare în mebibiți, rulați liber comanda cu -m sau –Mebi opțiune după cum urmează:

$liber -m

Pentru a vedea memoria și a schimba informațiile de utilizare în gibibiți, rulați liber comanda cu -g sau -la fel de opțiune după cum urmează:

$liber -g

În același mod, puteți utiliza fișierul -pentru tine și –Pebi opțiuni din linia de comandă pentru a afișa informațiile de utilizare a memoriei și a swapului în tebibiți și respectiv pebibyți.

Dacă doriți să afișați memoria și să schimbați informațiile de utilizare în kilobiți, rulați liber comanda cu -kilogram opțiune după cum urmează:

$liber --kilogram

Dacă doriți să afișați memoria și să schimbați informațiile de utilizare în megaocteți, rulați liber comanda cu -mega opțiune după cum urmează:

$liber --mega

Dacă doriți să afișați memoria și să schimbați informațiile de utilizare în gigaocteți, atunci rulați liber comanda cu –Giga opțiune după cum urmează:

$liber --giga

În același mod, puteți utiliza fișierul –Tera și -Hartă opțiuni din linia de comandă pentru a afișa informațiile de utilizare a memoriei și a swapului în terabyți și respectiv petabytes.

The liber comanda are, de asemenea, o opțiune de ieșire citibilă de om. Această opțiune va imprima o memorie foarte ușor de înțeles (pentru oameni) și va schimba informații de utilizare pe ecran.

Pentru ieșirea citită de om, rulați liber comanda cu -h sau -uman opțiune după cum urmează:

$liber -h

După cum puteți vedea, formatul care poate fi citit de om este foarte ușor de înțeles.

The -h sau -uman opțiunea tipărește informațiile de utilizare a memoriei și a swapului în byte, kibibytes, mebibytes, gibibytes, tebibytes sau pebibytes în mod implicit. Aceste unități folosesc baza-2 sau sistemul numeric binar (puteri de 2).

Dacă doriți să vedeți ieșirea citibilă de om în baza-10 sau sistemul numeric zecimal (puteri de 10), atunci executați comanda liberă cu -h sau -uman opțiunea din linia de comandă, precum și -Da opțiunea din linia de comandă după cum urmează:

$liber --uman --Da

The liber comanda va imprima memoria și va schimba informațiile de utilizare fie în octeți, kilobyți, megaocteți, gigaocteți, terabiți sau petabiți. Aceste unități folosesc baza-10 sau sistemul numeric zecimal (puteri de 10).

Dacă doriți să afișați memoria totală și să schimbați informațiile de utilizare, rulați comanda gratuită cu opțiunea -t sau –total după cum urmează:

$liber -t

După cum puteți vedea, informațiile de utilizare a memoriei totale (fizice + swap) sunt afișate la sfârșitul ieșirii.

De asemenea, puteți rula liber comandă în modul de monitorizare. În acest mod, liber comanda va imprima continuu memoria și va schimba informațiile de utilizare după un anumit interval de timp (în secunde).

Puteți rula liber comanda în modul de monitorizare cu -s sau –Secunde opțiunea din linia de comandă după cum urmează:

$liber -s <întârziere>

Sau,

$liber–Secunde<întârziere>

Aici, este numărul de secunde după care noile informații despre utilizarea memoriei și a swap-ului vor fi imprimate pe ecran.

De exemplu, pentru a imprima memoria și a schimba informațiile de utilizare în mod continuu la interval de 5 secunde, rulați comanda gratuită după cum urmează:

$liber -s 5

După cum puteți vedea, informațiile de utilizare a memoriei și a swap-ului sunt tipărite la fiecare 5 secunde.

Dacă doriți să opriți liber comanda, apăsați + C .

În modul de monitorizare, liber comanda va imprima continuu memoria și va schimba în mod implicit informațiile de utilizare. Puteți utiliza -c sau -numara opțiunea din linia de comandă pentru a limita de câte ori se imprimă pe ecran informațiile de utilizare a noii memorii și swap-uri.

De exemplu, pentru a imprima memoria și a schimba informațiile de utilizare de 5 ori la un interval de 10 secunde, rulați liber comandați după cum urmează:

$liber -s 10 -c 5

După cum puteți vedea, liber comanda tipărește memoria și schimbă informațiile de utilizare doar de 5 ori la un interval de 10 secunde.

Este aproape tot ce trebuie să știți pentru a verifica memoria și a schimba utilizarea cu liber comanda. Dar, dacă doriți să aflați mai multe, verificați pagina de manual a fișierului liber comandați după cum urmează:

$om liber

Pagina de mana a liber ar trebui afișată comanda.

Verificarea utilizării memoriei prin citirea fișierului / proc / meminfo:

De asemenea, puteți verifica informațiile de utilizare a memoriei din sistemul dvs. Linux citind fișierul / proc / meminfo fişier.

Puteți citi fișierul / proc / meminfo fișier cu următoarea comandă:

$pisică /la sută/meminfo

Fișierul conține o mulțime de informații despre utilizarea memoriei. Utilizările de memorie sunt în unitatea kibibytes.

Cele mai importante informații de utilizare a memoriei din / proc / meminfo fișierul sunt:

MemTotal: Aceasta este memoria instalată totală sau memoria fizică (RAM) a sistemului Linux.

MemFree: Aceasta este cantitatea de memorie fizică neutilizată (RAM).

MemAvailable: Aceasta este cantitatea estimată de memorie fizică (RAM) disponibilă pentru noile programe.

Tampoane: Aceasta este cantitatea de memorie fizică rezervată bufferelor de nucleu. Tampoanele sunt utilizate pentru a stoca temporar date în timp ce le mutați dintr-o locație în alta.

În cache: Aceasta este cantitatea de memorie fizică utilizată ca memorie cache.

SwapCached: Aceasta este cantitatea de memorie care a fost mutată pe discul de swap și mutată înapoi în memoria RAM fizică. Dar datele sunt încă memorate în cache pe discul de swap.

Activ: Aceasta este cantitatea de memorie fizică care este utilizată și, de obicei, nu poate fi recuperată decât dacă este necesar.

Inactiv: Aceasta este cantitatea de memorie fizică utilizată și ușor de recuperat de alte procese sau programe, dacă este necesar.

Activ (anon): Aceasta este cantitatea de memorie fizică utilizată de sistemele de fișiere anonime tmpfs și memoria partajată.

Inactiv (anon): Aceasta este cantitatea de memorie fizică utilizată de sistemele de fișiere tmfs anonime și memoria partajată care poate fi recuperată.

Activ (fișier): Aceasta este cantitatea de memorie cache utilizată activ.

Inactiv (fișier): Aceasta este cantitatea de memorie cache nou încărcată sau care poate fi recuperată.

Imprevizibil: Aceasta este cantitatea de memorie care nu poate fi recuperată deoarece este blocată de programele utilizatorului.

Blocat: Aceasta este cantitatea totală de memorie care nu poate fi recuperată deoarece este blocată de programele utilizatorului.

SwapTotal: Aceasta este dimensiunea totală a discului de swap.

SwapFree: Aceasta este cantitatea de spațiu de schimb liber.

Murdar: Cantitatea totală de memorie care așteaptă să fie scrisă pe disc.

Răspuns: Cantitatea totală de memorie care este scrisă pe disc.

AnonPages: Cantitatea totală de memorie utilizată de pagini și sunt mapate în tabelele de pagini ale spațiului utilizatorilor.

Cartografiat: Cantitatea de memorie utilizată pentru fișierele care au fost mapate de kernel-ul Linux, cum ar fi bibliotecile utilizate de diferite programe.

Exemplu: Aceasta este cantitatea de memorie care este partajată și utilizată de sistemele de fișiere tmpfs.

KReclamabil: Cantitatea de memorie care este revendicată de kernel și care poate fi recuperată atunci când este necesar.

Dală: Aceasta este cantitatea de memorie utilizată de nucleu pentru a memora în cache structurile de date pentru utilizarea nucleului.

SReclamabil: Aceasta este cantitatea de memorie din placă care poate fi recuperată.

SUnreclaim: Aceasta este cantitatea de memorie din placa care nu poate fi recuperată chiar și atunci când este necesar.

KernelStack: Aceasta este cantitatea de memorie care este utilizată pentru alocarea stivei de kernel.

PageTables: Aceasta este cantitatea de memorie dedicată tabelelor de pagini. Un tabel de pagini este o structură de date utilizată de un computer pentru a mapa între memoria virtuală și memoria fizică.

Sări: Aceasta este cantitatea de memorie utilizată pentru buffer-ul dispozitivelor de blocare (adică dispozitive de stocare precum HDD sau SSD).

WritebackTmp: Cantitatea de memorie care este utilizată pentru tampoanele temporare de scriere FUSE.

Există multe alte informații despre utilizarea memoriei în / proc / meminfo fişier. Dacă sunteți interesat, puteți arunca o privire la ceea ce sunt în pagina de manual la sută .

Pentru a deschide pagina de mana a la sută , executați următoarea comandă:

$om 5la sută

Pagina de manual a proc ar trebui să fie deschisă.

Introduceți / proc / meminfo și apăsați . Ar trebui să vă deplaseze la secțiunea / proc / meminfo așa cum puteți vedea în captura de ecran de mai jos. Veți găsi descrieri ale fiecărui câmp din / proc / meminfo fișier aici.

Verificarea utilizării memoriei folosind partea de sus:

The top este un program care afișează procesele care rulează și utilizarea resurselor lor în timp real. The top vine preinstalat în majoritatea distribuțiilor Linux.

Poți fugi top cu următoarea comandă:

$top

The top programul ar trebui să înceapă. În secțiunea de sus a top după cum este marcat în captura de ecran de mai jos, ar trebui să vedeți rezumatul utilizării memoriei și swap-ului în unitatea de mebibiți (implicit).

The top comanda va afișa următoarele informații de memorie fizică:

total: Memoria fizică totală disponibilă a sistemului.

liber: Cantitatea de memorie fizică încă neutilizată.

folosit: Cantitatea de memorie fizică utilizată de sistem.

buff / cache: Cantitatea de memorie fizică utilizată ca memorie cache și tampon.

folos Mem: Cantitatea de memorie fizică disponibilă pentru noile programe.

The top comanda va afișa următoarele informații de swap:

total: Memoria swap totală disponibilă a sistemului.

liber: Cantitatea de memorie swap gratuită a sistemului.

folosit: Cantitatea de memorie swap utilizată de sistem.

Puteți apăsa m pentru a comuta între diferite moduri de rezumare a utilizării memoriei.

De exemplu, apăsând pe m once va trece la următorul mod. În acest mod, top arată memoria fizică și informațiile de utilizare a swap-ului ca percent_memory_used / total_memory_in_mebibytes .

Presare m din nou va schimba stilul barei de progres. Informațiile vor fi aceleași ca înainte.

The top comanda afișează, de asemenea, informații de utilizare a memoriei pentru fiecare dintre procesele care rulează pe computerul dvs. în timp real. Comanda de sus afișează în mod implicit informații despre utilizarea memoriei proceselor din unitatea kibibytes.

În mod implicit, fișierul top comanda afișează următoarele informații despre utilizarea memoriei:

APRECIAT: Aceasta este dimensiunea memoriei virtuale a procesului. Memoria virtuală este memoria fizică și swap totală utilizată de proces.

VITĂ: Aceasta este dimensiunea memoriei rezidente a procesului. Memoria rezidentă este cantitatea de memorie fizică pe care o folosește procesul.

SHR: Aceasta este dimensiunea memoriei partajate a procesului. Aceasta este cantitatea de memorie pe care o folosește procesul, care este, de asemenea, partajată cu alte procese.

% MEM: Procentul de memorie fizică pe care o folosește procesul.

Puteți configura fișierul top pentru a afișa mai multe informații despre utilizarea memoriei, cum ar fi,

COD: Aceasta este dimensiunea codului procesului. Este cantitatea de memorie fizică dedicată codului executabil al procesului. Este, de asemenea, cunoscut sub numele de Text Resident Set sau TRS.

DATE: Aceasta este dimensiunea datelor și a stivei procesului. Este cantitatea de memorie rezervată de un proces. Este posibil să nu fie încă mapat la memoria fizică. Dar va apărea întotdeauna în memoria virtuală (VIRT) a procesului. Este, de asemenea, cunoscut sub numele de Data Resident Set sau DRS.

RSan: Aceasta este dimensiunea memoriei anonime rezidente a procesului. Este un subset al memoriei fizice (RES) care reprezintă pagini private care nu sunt încă mapate la un fișier.

RSfd: Aceasta este dimensiunea de memorie a fișierului rezident pentru proces. Este un subset al memoriei fizice (RES) care reprezintă pagini partajate și imagini de program de sprijin, biblioteci partajate, mapări de fișiere etc.

RSsh: Aceasta este dimensiunea memoriei partajate pentru rezidenți a procesului. Este un subset al memoriei fizice (RES) care reprezintă pagini anonime partajate.

RSlk: Aceasta este dimensiunea memoriei blocate pentru rezidenți a procesului. Este cantitatea de memorie fizică (RES) care nu poate fi schimbată. Trebuie să rămână în memoria fizică.

SWAP: Aceasta este dimensiunea schimbată a procesului. Este cantitatea de informație de memorie fizică (RES) care este mutată în spațiul de disc swap din memoria fizică.

FOLOSIT: Aceasta este cantitatea totală de memorie (fizică + swap) pe care o folosește procesul.

UTILIZAT = RES + SWAP.

Rețineți că memoria fizică (RES) utilizată de un proces este însumarea Resident Anonymous Memory Size (RSan), Resident File-Backed Memory Size (RSfd) și Resident Shared Memory Size (RSsh).

RES = RSan + RSfd + RSsh

Pentru a activa aceste coloane cu informații de memorie, rulați top și apăsați f .

Utilizați tastele săgeată pentru a naviga la coloanele marcate și apăsați tasta pentru a-l comuta. Coloanele activate vor avea un * marca în stânga.

După ce ați terminat, apăsați ce pentru a reveni la fereastra de sus a procesului de monitorizare. După cum puteți vedea, sunt afișate coloanele de informații despre utilizarea memoriei SWAP, COD, DATA, USED, RSan, RSfd, RSlk, RSsh.

În mod implicit, fișierul top comanda afișează informații despre utilizarea memoriei în unitatea kibibyte. Dacă doriți să vedeți informațiile de utilizare a memoriei într-o unitate diferită, cum ar fi mebibyte, gibibyte, tebibyte sau pebibyte, puteți face și asta.

Pentru a comuta între diferite unități de memorie (kibibyte, mebibyte, gibibyte, tebibyte sau pebibyte), rulați sus și apăsați Și .

top informațiile despre utilizarea memoriei sunt afișate în mebibiți.

top informațiile despre utilizarea memoriei sunt afișate în gibibiți.

top informațiile despre utilizarea memoriei sunt afișate în tebibyte.

top informațiile despre utilizarea memoriei sunt afișate în pebibyte.

O mulțime de procese rulează pe sistemul dvs. de operare Linux. Comanda de sus nu le poate afișa simultan. Puteți ține apăsat butonul și tastele săgeată pentru a naviga în lista proceselor top afișează comanda.

De asemenea, puteți sorta ieșirea comenzii de sus după o coloană specifică.

Să presupunem că doriți să vedeți care proces folosește cea mai mare cantitate de spațiu swap. Pentru a face asta, aleargă top și apăsați f .

Apoi, selectați coloana SWAP folosind tastele săgeată ale tastaturii și apăsați s .

Câmpul de sortare al top comanda trebuie schimbată în SWAP. presa ce pentru a reveni la fereastra de monitorizare a procesului.

După cum puteți vedea, procesele care utilizează cel mai mare spațiu de swap sunt listate mai întâi.

După ce ați configurat top comanda, puteți apăsa + în pentru a salva configurația într-un toprc Fișier de configurare. În acest fel, nu trebuie să reconfigurați top de fiecare dată când îl folosești.

Verificarea utilizării memoriei utilizând htop:

htop este un vizualizator de procese Linux în timp real la fel ca top . Cu exceptia htop are caracteristici suplimentare care top nu. Cea mai evidentă caracteristică nouă a htop este evidențierea sintaxei și o interfață cu utilizatorul mai bună. Poti spune htop este un extins top .

Ca top , htop nu este preinstalat pe majoritatea distribuției Linux. Dar este disponibil în depozitul oficial de pachete pentru aproape toate distribuțiile Linux de acolo. Așadar, îl puteți instala cu ușurință pe distribuția Linux dorită.

A instala htop pe Ubuntu / Debian, executați următoarele comenzi:

$sudoactualizare aptă
$sudoaptinstalare htop -și

NOTĂ: Pe CentOS / RHEL, htop este disponibil în depozitul EPEL. Înainte de a instala fișierul htop , trebuie să aveți un depozit EPEL ( epel-eliberare pachet) instalat pe sistemul dvs. CentOS / RHEL.

A instala htop pe CentOS 7 / RHEL 7, executați următoarele comenzi:

$sudo yum instalațiepel-eliberare-și
$sudo yum instalați htop -și

A instala htop pe CentOS 8 / RHEL 8, executați următoarele comenzi:

$sudodnfinstalareepel-eliberare-și
$sudodnfinstalare htop -și

O singura data htop este instalat, îl puteți rula cu următoarea comandă:

$htop

Htop ar trebui să înceapă.

Deasupra, htop afișează memoria fizică și rezumatul utilizării swap-ului. De asemenea, arată memoria și utilizarea swapului într-un grafic de bare frumos.

Informațiile de utilizare a memoriei și a swap-ului sunt în format folosit / total . htop va decide automat unitatea (kibibyte, mebibyte, gibibyte, tebibyte sau pebibyte) pentru a descrie cel mai bine informațiile de utilizare a memoriei și a swap-ului.

Barele de utilizare a memoriei și a swap-ului sunt reprezentate de culori diferite. Culorile au semnificații.

Pentru a ști ce reprezintă fiecare culoare, aleargă htop și apăsați h pentru a merge la fereastra de ajutor a htop .

După cum puteți vedea, culoarea verde reprezintă memoria fizică utilizată de diferite programe / procese, culoarea albastră reprezintă memoria fizică utilizată ca tampoane, culoarea galbenă reprezintă memoria fizică utilizată ca memorie cache, iar culoarea roșie reprezintă cea utilizată schimb de spațiu.

Pentru a reveni la principal htop fereastră, apăsați ce .

Ca top , htop programul afișează, de asemenea, informații despre utilizarea memoriei pentru fiecare dintre procesele care rulează pe sistemul dvs. Linux. htop va decide automat unitatea (kibibyte, mebibyte, gibibyte, tebibyte sau pebibyte) pentru a descrie cel mai bine utilizarea memoriei fiecăruia dintre procese.

În mod implicit, fișierul htop comanda afișează următoarele informații despre utilizarea memoriei:

VIRT / M_SIZE: Aceasta este dimensiunea memoriei virtuale a procesului. Memoria virtuală este memoria fizică și swap totală utilizată de proces.

RES / M_RESIDENT: Aceasta este dimensiunea setată de rezident a procesului. Memoria rezidentă este cantitatea de memorie fizică pe care o folosește procesul. Este egal cu text + date + stivă sau M_TRS + M_DRS.

SHR / M_SHARE: Aceasta este dimensiunea memoriei partajate a procesului. Aceasta este cantitatea de memorie pe care o folosește procesul, care este, de asemenea, partajată cu alte procese.

% MEM / PERCENT_MEM: Procentul de memorie fizică pe care o folosește procesul.

Puteți configura fișierul htop pentru a afișa mai multe informații despre utilizarea memoriei, cum ar fi,

COD / M_TRS: Aceasta este dimensiunea codului procesului. Este cantitatea de memorie fizică dedicată codului executabil al procesului.

DATA / M_DRS: Aceasta este dimensiunea datelor și a stivei procesului. Este cantitatea de memorie rezervată de un proces. Este posibil să nu fie încă mapat la memoria fizică. Dar va apărea întotdeauna în memoria virtuală (VIRT / M_SIZE) a procesului.

LIB / M_LRS: Aceasta este dimensiunea bibliotecii procesului. Este cantitatea de memorie fizică pe care o folosește un cod de bibliotecă (utilizat de proces / program).

DIRTY / M_DT: Aceasta este dimensiunea paginilor murdare ale procesului. Secțiunea / pagina care este modificată în buffer se numește o pagină murdară.

Pentru a activa aceste coloane cu informații de memorie, rulați htop și apăsați F2 .

Apoi, navigați la Coloane de la Înființat , selectați coloana înaintea căreia doriți să adăugați coloane noi din Coloane active , selectați coloana pe care doriți să o adăugați din Coloane disponibile secțiunea și apăsați pentru a adăuga coloana.

Coloana ar trebui adăugată la Coloane active secțiune.

În același mod, adăugați celelalte coloane de memorie (coloane care încep cu M_ ). După ce ați terminat, apăsați pentru a reveni la principal htop fereastră.

După cum puteți vedea, sunt adăugate coloanele suplimentare de utilizare a memoriei.

Puteți vizualiza procesele din vedere la copac . În această perspectivă, procesele sunt organizate de relația părinte-copil.

Pentru a comuta la vizualizarea în arbore, apăsați t . După cum puteți vedea, procesele sunt organizate foarte frumos de relația lor părinte-copil. În acest mod, puteți vedea ce procese copil sunt generate de un proces părinte și utilizarea memoriei lor.

Pentru a ieși din vizualizarea în arbore, apăsați t din nou. Ar trebui să reveniți la vizualizarea implicită.

De asemenea, puteți sorta procesele după diferite coloane de utilizare a memoriei. În mod implicit, procesele sunt sortate în funcție de utilizarea procesorului (CPU%).

Pentru a sorta procesele după o anumită coloană, apăsați F6 .

Apoi, selectați o coloană pe care doriți să sortați procesele din Filtrează după secțiune și apăsați .

Voi sorta procesele după M_RESIDENT / VITĂ coloană pentru demonstrație.

După cum puteți vedea, procesele sunt bine sortate în funcție de utilizarea memoriei rezidente.

The htop programul listează o mulțime de procese. Toate aceste procese nu pot fi afișate în dimensiunea limitată a ferestrei / ecranului. Dar, puteți apăsa pe și tastele săgeată pentru a naviga în lista de procese foarte ușor.

Verificarea utilizării memoriei folosind smem:

Programe de verificare a utilizării memoriei precum top , htop, etc. arată memoria partajată completă pentru fiecare dintre procese. Ceea ce înseamnă este, chiar dacă memoria este partajată de unele procese, ea contează această memorie utilizată pentru fiecare dintre procesele care partajează acea memorie. Deci, veți obține informații despre utilizarea incorectă a memoriei.

În matematică, arată așa,

utilizarea fizică a memoriei procesului = utilizarea memoriei partajate + utilizarea memoriei nepartajate

Eu pot încearcă să evite acest lucru și să raporteze corect utilizarea memoriei. Împarte memoria partajată la numărul de procese care utilizează memoria partajată și adaugă rezultatul fiecăruia dintre procesele care partajează memoria respectivă. Deci, utilizarea memoriei se adaugă frumos. Utilizarea totală a memoriei va fi însumarea utilizării memoriei pentru toate procesele. Acest lucru nu se va întâmpla în htop sau top .

În matematică, arată așa,

utilizarea fizică a memoriei procesului(utilizarea memoriei partajate/numărul de procese care partajează memoria)
+ memorie nepartajată

Eu pot nu este preinstalat în mod implicit în majoritatea distribuțiilor Linux. Dar este disponibil în depozitul oficial de pachete al majorității distribuției Linux.

Pe Ubuntu / Debian, puteți instala Eu pot cu următoarele comenzi:

$sudoactualizare aptă
$sudoaptinstalareEu pot-și

Pe CentOS / RHEL 7, Eu pot este disponibil în depozitul de pachete EPEL. Deci, trebuie să adăugați depozitul EPEL pe CentOS / RHEL 7 pentru instalare Eu pot .

Pe CentOS / RHEL 7, puteți instala Eu pot cu următoarele comenzi:

$sudo yum instalațiepel-eliberare-și
$sudo yum instalațiEu pot-și

Din pacate, Eu pot nu este disponibil în depozitul oficial de pachete sau în depozitul EPEL al CentOS / RHEL 8. Ar trebui să puteți compila Eu pot din sursă sau descărcați fișierul Eu pot binar din site-ul oficial al smem .

Dacă doriți să compilați Eu pot de la sursă, puteți descărca codul sursă smem din pagina oficială sursă smem .

Dacă doriți să descărcați un Eu pot fișier binar precompilat, apoi îl puteți descărca din pagina oficială de descărcare smem .

Eu pot poate afișa utilizarea memoriei fiecărui utilizator.

Pentru a ști câtă memorie utilizează un utilizator Linux, rulați Eu pot după cum urmează:

$sudoEu pot-tu

Aici -la opțiunea este utilizată pentru a arăta unității că Eu pot utilizează pentru a afișa informații despre utilizarea memoriei.

Eu pot folosește următoarele unități:

K - Kibibyte

M - Mebibyte

G - Gibibyte

T - Tebibyte

P - Pebibyte

The -la opțiunea este utilizată pentru a scala coloanele de ieșire în funcție de dimensiunea ferestrei terminalului. În acest fel, puteți remedia ieșirea Eu pot foarte ușor dacă orice text important este decupat.

The -u opțiunea este utilizată pentru a afișa informații despre utilizarea memoriei utilizatorului.

După cum puteți vedea, Eu pot a raportat informațiile de utilizare a memoriei și a swap-ului fiecărui utilizator al mașinii mele Ubuntu.

Eu pot afișează următoarele informații de utilizare a memoriei utilizatorului:

Utilizator: Numele de utilizator Linux pentru care este raportată utilizarea memoriei.

Numara: Numărul de procese pe care utilizatorul le rulează în acest moment.

Schimb: Cantitatea de spațiu pe swap pe care îl folosește utilizatorul.

USS: Aceasta este dimensiunea setului unic unic al proceselor utilizatorului. Este cantitatea totală de memorie fizică pe care o utilizează procesele deținute de utilizator care nu este partajată cu alte procese.

PSS: Aceasta este dimensiunea totală a setului proporțional al proceselor utilizatorului. Este cantitatea totală de memorie fizică și memoria fizică partajată uniform împărțită pe care o utilizează procesele deținute de utilizator.

RSS: Aceasta este dimensiunea totală a setului de rezidenți a proceselor utilizatorului. Este cantitatea totală de memorie fizică și memoria fizică partajată pe care o utilizează procesele deținute de utilizator. Informații despre utilizarea memoriei RSS a Eu pot este la fel ca informațiile de utilizare a memoriei RSS ale top sau htop .

În mod implicit, Eu pot afișează informații despre utilizarea memoriei în ordine crescătoare (de la cel mai mic la cel mai mare). Dacă doriți să vedeți informațiile de utilizare a memoriei în ordine descrescătoare (de la cel mai mare la cel mai mic), utilizați -r opțiunea de Eu pot după cum urmează:

$sudoEu pot-kaur

După cum puteți vedea, Eu pot a afișat aceleași informații de utilizare a memoriei utilizatorului. Dar în ordine descrescătoare.

Dacă doriți să vedeți informațiile despre utilizarea totală a memoriei utilizatorului, rulați Eu pot cu -t opțiune după cum urmează:

$sudoEu potprin

După cum puteți vedea, Eu pot adaugă informațiile tuturor rândurilor pentru fiecare coloană și arată informațiile despre utilizarea totală a memoriei pentru fiecare dintre coloane la final.

În mod implicit, Eu pot afișează informații despre utilizarea memoriei în unitatea kibibytes. Dacă utilizați -la opțiune, Eu pot va selecta automat cea mai bună unitate pentru a afișa informațiile de utilizare a memoriei.

Dacă doriți să afișați informațiile de utilizare a memoriei ca procent din memoria fizică totală disponibilă sau să schimbați spațiul pe disc, puteți utiliza -p opțiune în loc de -la opțiune după cum urmează:

$sudoEu pot-pau

După cum puteți vedea, Eu pot afișează informațiile de utilizare a memoriei utilizatorului în procentul din memoria fizică totală și spațiul de swap pe disc.

Dacă doriți să vedeți informațiile de utilizare a memoriei la nivel de sistem sau rezumatul utilizării memoriei de sistem, atunci rulați Eu pot cu -în opțiune după cum urmează:

$sudoEu pot-kaw

După cum puteți vedea, Eu pot afișează informații de utilizare a memoriei la nivel de sistem.

Eu pot afișează următoarele informații de utilizare a memoriei la nivel de sistem:

Zonă: Partea din sistem pentru care este utilizată memoria.

Folosit: Cantitatea de memorie fizică utilizată pentru această zonă.

Cache: Cantitatea de memorie fizică utilizată ca memorie cache pentru această zonă.

Non-cache: Cantitatea de memorie fizică utilizată pentru această zonă care nu este stocată în cache.

În același mod ca înainte, puteți utiliza fișierul -t opțiune pentru a vedea, de asemenea, informațiile totale de utilizare a memoriei la nivel de sistem.

$sudoEu pot-precaut

Puteți vedea, de asemenea, utilizarea memoriei proceselor care rulează pe sistemul dvs. Linux cu Eu pot .

Pentru a face asta, aleargă Eu pot după cum urmează:

$sudoEu pot-kar

După cum puteți vedea, Eu pot afișează informațiile de utilizare a memoriei pentru fiecare dintre procesele care rulează pe mașina mea Ubuntu.

Eu pot afișează următoarele informații despre utilizarea memoriei în funcție de proces:

PID: ID-ul procesului procesului.

Utilizator: Numele de utilizator al utilizatorului care a început procesul sau care deține procesul.

Comanda: Comanda utilizată pentru a porni procesul.

Schimb: Cantitatea de spațiu pe swap pe care îl folosește procesul.

USS: Aceasta este dimensiunea unică a procesului. Cantitatea de memorie fizică pe care o folosește procesul nu este partajată cu alte procese.

PSS: Aceasta este dimensiunea setului proporțional al procesului. Este cantitatea de memorie fizică și memoria fizică partajată uniform împărțită pe care o folosește procesul.

RSS: Aceasta este dimensiunea setului rezident al procesului. Este cantitatea de memorie fizică și memoria fizică partajată pe care o folosește procesul.

Puteți vedea, de asemenea, informațiile de utilizare a memoriei pentru fiecare fișier bibliotecă cu care procesele utilizează Eu pot .

Pentru a vedea informațiile de utilizare a memoriei fiecărui fișier bibliotecă încărcat în memoria fizică a computerului, rulați Eu pot cu -m opțiune după cum urmează:

$sudoEu pot-kamr

Eu pot va afișa informațiile de utilizare a memoriei fiecărui fișier de bibliotecă încărcat în memoria fizică a computerului, așa cum puteți vedea în captura de ecran de mai jos.

Eu pot afișează următoarele informații despre utilizarea bibliotecii:

Hartă: Fișierul de bibliotecă care este mapat la memoria fizică a computerului.

PID-uri: Numărul total de procese care utilizează acest fișier bibliotecă.

PSS: Aceasta este dimensiunea totală a setului proporțional al proceselor care utilizează fișierul bibliotecă. Este cantitatea de memorie fizică și memoria fizică partajată uniform împărțită pe care o utilizează procesele (folosind acest fișier bibliotecă).

AVGPSS: Aceasta este dimensiunea medie a setului proporțional al proceselor care utilizează acest fișier bibliotecă. Este memoria fizică medie care este partajată între fiecare proces (folosind acest fișier bibliotecă) pe care îl utilizează. Puteți spune, de asemenea, AVGPSS = PSS / PID (aproximativ).

Verificarea utilizării memoriei utilizând vmstat:

vmstat este un alt program pentru verificarea utilizării memoriei în Linux. Afișează aproape aceleași informații ca în / proc / meminfo fişier.

Pentru a vedea informații despre utilizarea memoriei, rulați vmstat după cum urmează:

$vmstat -s

vmstat ar trebui să afișeze informații de utilizare a memoriei la nivelul întregului sistem în unitatea kibibytes așa cum puteți vedea în captura de ecran de mai jos.

vmstat afișează următoarele informații despre utilizarea memoriei:

Memorie totala: Memoria fizică totală disponibilă a computerului.

memoria folosită: Memoria fizică totală utilizată a computerului.

memorie libera: Memoria fizică totală gratuită a computerului.

swap total: Spațiul total disponibil pe discul swap.

swap folosit: Cantitatea de spațiu pe disc utilizată.

swap gratuit: Cantitatea de spațiu pe swap pe disc încă liberă.

swap cache: Cantitatea de spațiu de schimb swap utilizat ca cache.

memorie tampon: Cantitatea de memorie fizică utilizată ca tampon pentru a păstra datele temporar în timp ce le mutați dintr-un loc în altul.

memorie activă: Cantitatea de memorie fizică utilizată, dar care nu poate fi recuperată dacă este necesară de alte programe.

memorie inactivă: Cantitatea de memorie fizică utilizată, dar ușor de recuperat de alte programe, dacă este necesar.

Verificarea utilizării memoriei utilizând monitorul de sistem GNOME:

GNOME System Monitor este un software grafic pentru monitorizarea utilizării memoriei, proceselor care rulează și utilizarea discului. Este preinstalat pe mediile desktop GNOME 3, Ubuntu MATE, Cinnamon și Budgie.

Puteți vedea informațiile de utilizare a memoriei și a swap-ului în Resurse fila din Monitor de sistem GNOME după cum puteți vedea în captura de ecran de mai jos.

Afișează o memorie în timp real frumoasă și schimbă graficul de utilizare pentru ultimele 60 de secunde. Puteți avea o idee despre cât de multă memorie și utilizare a swap-ului au variat ore suplimentare din acest grafic.

Va arăta memoria fizică totală disponibilă, cantitatea de memorie fizică utilizată, procentul de memorie fizică utilizată și cantitatea de memorie fizică utilizată ca memorie cache. De asemenea, vă va arăta o diagramă circulară de utilizare a memoriei fizice.

De asemenea, va arăta spațiul total disponibil pe discul swap, cantitatea de spațiu swap utilizat, procentul din cantitatea de spațiu swap utilizat și o diagramă circulară de utilizare a swapului.

În Procese fila din Monitor de sistem GNOME , puteți vedea informațiile de utilizare a memoriei pentru fiecare dintre procesele care rulează pe computerul dvs.

Dacă doriți să vedeți mai multe informații despre utilizarea memoriei pentru procese, faceți clic dreapta (RMB) pe bara de titlu și verificați Memorie virtuala , Memoria rezidentului , și Memorie partajată așa cum se arată în captura de ecran de mai jos.

Informațiile despre utilizarea memoriei virtuale (VIRT), rezidente (RES) și partajate (RSS) ale proceselor ar trebui afișate așa cum puteți vedea în captura de ecran de mai jos.

Aceste informații de utilizare a memoriei sunt aceleași ca în top sau htop .

În mod implicit, Monitorul de sistem GNOME va afișa doar procesele deținute de utilizatorul dvs. de conectare. Dacă doriți să vedeți o listă a tuturor proceselor deținute de fiecare utilizator al sistemului dvs., faceți clic pe meniul hamburger (

) și selectați Toate procesele așa cum se arată în captura de ecran de mai jos.

Dacă doriți să vedeți procesele în vizualizarea arborescentă (relația părinte-copil), faceți clic pe meniul hamburger (

) și verificați Afișați dependențe așa cum se arată în captura de ecran de mai jos.

În vizualizarea arborescentă, puteți vedea ce proces (părinte) a început ce procese (copil) în ordinea în care au fost începute. Puteți vedea, de asemenea, câtă memorie consumă fiecare proces procesual părinte și câtă memorie consumă fiecare proces copil.

Verificarea utilizării memoriei utilizând KSysGuard:

KSysGuard este un software grafic pentru monitorizarea utilizării memoriei și procesele de rulare. Este preinstalat pe mediul desktop KDE Plasma.

Puteți vedea informațiile de utilizare a memoriei și a swap-ului în Încărcare sistem fila din KSysGuard după cum puteți vedea în captura de ecran de mai jos.

În Tabel de proces fila din KSysGuard , puteți vedea informațiile de utilizare a memoriei pentru fiecare dintre procesele care rulează pe computerul dvs.

În mod implicit, KSysGuard afișează informațiile despre utilizarea fizică a memoriei fizice și a memoriei partajate pentru fiecare dintre procesele care rulează.

Puteți face clic dreapta (RMB) pe bara de titlu și faceți clic pe Afișați coloana „Dimensiune virtuală” și Afișați coloana „Memorie totală” pentru a vedea mai multe informații despre utilizarea memoriei.

După cum puteți vedea, KSysGuard arată acum dimensiunea memoriei virtuale (VIRT) și utilizarea totală a memoriei fizice pentru fiecare dintre procesele care rulează.

În mod implicit, KSysGuard afișează toate procesele care rulează deținute de fiecare utilizator din Tabel de proces filă. Puteți modifica ce procese doriți să vedeți din meniul derulant din colțul din dreapta sus al KSysGuard, așa cum se arată în captura de ecran de mai jos.

Pentru vizualizarea în arbore, selectați Toate procesele, Arborele din meniul derulant.

În vizualizarea arborescentă, puteți vedea ce proces (părinte) a început ce procese (copil) în ordinea în care au fost începute. Puteți vedea, de asemenea, câtă memorie consumă fiecare proces procesual părinte și câtă memorie consumă fiecare proces copil.

Dacă doriți doar să vedeți procesele la nivel de sistem, selectați Procese de sistem din meniul derulant. Aceste procese sunt de obicei deținute de rădăcină utilizator.

Dacă doriți să vedeți procese la nivel de utilizator, selectați Procese de utilizator din meniul derulant. Aceste procese sunt de obicei deținute de utilizatori obișnuiți (non-root).

Dacă doriți să vedeți doar procesele care sunt deținute de utilizatorul de conectare, selectați Procese proprii .

Dacă doriți să vedeți numai programele care rulează pe computerul dvs., nu procesele, selectați Numai programe din meniul derulant. Numai programele de aplicații care rulează pe computerul dvs. vor fi listate.

Concluzie:

În acest articol, am prezentat cele mai comune moduri de a verifica utilizarea memoriei pe Linux. Am arătat cum să verific utilizarea memoriei sistemelor Linux din linia de comandă, precum și din mediile grafice de desktop. Am explicat cum să folosesc programe precum liber , top , htop , Eu pot , vmstat , Monitor de sistem GNOME , și KSysGuard pentru a verifica utilizarea memoriei Linux. De asemenea, am discutat despre formatul de ieșire al acestor comenzi și programe. Acest articol ar trebui să vă înceapă cu verificarea utilizării memoriei Linux și să vă ofere o cunoaștere aprofundată a instrumentelor de verificare a utilizării memoriei Linux.