Kako provjeriti upotrebu memorije Linuxa

How Check Linux Memory Usage



Memorija ili RAM (Random Access Memory) vrlo su važni za računalo. Programi koje pokrećete na svom računalu pohranjuju male dijelove informacija u RAM kako bi mu mogli pristupiti kad god je potrebno što je brže moguće.

RAM je vrlo brz i bliži je CPU -u (središnjoj procesorskoj jedinici) računala. Kako je RAM bliži CPU -u računala, CPU ima izravan pristup RAM -u. Stoga je kašnjenje pristupa podacima vrlo malo u usporedbi s uređajima za pohranu poput HDD -a ili SSD -a. Zato svi programi koriste RAM za pohranu podataka predmemorije.







Nažalost, RAM je vrlo skup i ograničen. Bez dovoljno slobodnog RAM -a, vaše računalo neće raditi ispravno. Pokrenuti programi vašeg računala mogu se zaustaviti ili prestati. Možda nećete moći pokrenuti nove programe. U najgorem slučaju, cijeli će vam sustav objesiti i postati neupotrebljiv.



Provjera korištenja RAM -a jedan je od najvažnijih zadataka u Linuxu. Možete dijagnosticirati mnoge probleme s Linuxom ako možete pratiti korištenje RAM -a vašeg Linux sustava.



Postoji mnogo alata za provjeru korištenja memorije u Linuxu. U ovom članku pokazat ću vam neke od najčešćih načina provjere korištenja memorije na Linuxu. Dakle, krenimo.





Jedinice memorije računala:

U ovom ćete članku vidjeti kako koristim izraze kilobajti, megabajti, gigabajti, kibibajti, mebibajti, gibibajti itd. Nemojte se zbuniti. Objasnit ću ih u ovom odjeljku.

Sva skladišta računala koriste istu jedinicu. Ovo je vrlo važno razumjeti.



U nastavku su navedene jedinice za pohranu računala.

  • Bit: Najmanja jedinica za pohranu računala je malo. Bit može sadržavati ili 0 ili 1. To je to.
  • Bajt: 8 bitova čini bajt.
  • Kilobajta: 1.000 bajtova čini kilobajt.
  • Megabajt: 1.000 kilobajta tvori megabajt.
  • Gigabajt: 1.000 megabajta tvori gigabajt.
  • Terabajt: 1000 gigabajta tvori terabajt.
  • Petabajt: 1.000 terabajta čini petabajt.
  • kibibajti: 1.024 bajta tvore kibibajt.
  • Mebibajt: 1.024 kibibajta čini mebibajt.
  • Gibibajt: 1.024 mebibajta tvori gibibajt.
  • Tebibajt: 1.024 gibibajta tvori tebibajt.
  • Pebibajt: 1.024 tebibajta tvore pebibajt.

Što se tiče bajtova, jedinice za pohranu računala su sljedeće.

  • Kilobajta: 1.000 bajtova ili 103bajtova.
  • Megabajt: 1.000.000 bajtova ili 106bajtova.
  • Gigabajt: 1.000.000.000 bajtova ili 109bajtova.
  • Terabajt: 1.000.000.000.000 bajtova ili 1012bajtova.
  • Petabajt: 1.000.000.000.000.000 bajtova ili 10petnaestbajtova.
  • kibibajti: 1024 bajta ili 210bajtova.
  • Mebibajt: 1.048.576 bajtova ili 2dvadesetbajtova.
  • Gibibajt: 1.073.741.824 bajta ili 230bajtova.
  • Tebibajt: 1.099.511.627.776 bajtova ili 240bajtova.
  • Pebibajt: 1.125.899.906.842.624 ili 2pedesetbajtova.

Sada kada znate jedinice za pohranu računala, trebali biste moći vrlo lako pretvoriti iz jedne jedinice u drugu.

Uočite da su kilobajt, megabajt, gigabajt, terabajt i petabajt snage od 10 bajtova. Ali, kibibajt, mebibajt, gibibajt, tebibajt i pebibajt su moći od 2 bajta. Za nas ljude, lako je izračunati u moćima 10 (decimalni brojčani sustav) jer imamo 10 prstiju. No, za računala je lakše izračunati u stepenima 2 (binarni brojčani sustav). Dakle, računala koriste snage 2 za predstavljanje količine prostora za pohranu ili memorije.

Jedinice imaju stenografske oznake ili simbole. Vidjet ćete ih vrlo često dok provjeravate upotrebu memorije u Linuxu.

Stenografske oznake ili simboli dani su u nastavku.

  • Bajtovi: B
  • Kilobajta: KB ili kB
  • Megabajt: MB
  • Gigabajt: GB
  • Terabajt: TAKOĐER
  • Petabajt: PB
  • Bajtovi: B
  • kibibajti: KiB ili K
  • Mebibajt: MiB ili M
  • Gibibajt: GiB ili G
  • Tebibajt: TiB ili T
  • Pebibajt: PiB ili P

Neki programi možda ne slijede ovaj standard i koriste te stenografije ili simbole naizmjenično. Razlika ionako nije toliko velika između ovih jedinica (tj. Kilobajta vs kibibajta). Ne brinite zbog toga.

Memorija vs Zamjena u Linuxu:

U Linuxu se naziva fizička memorija memorija . Kad se fizička memorija napuni, Linux inteligentno premješta podatke kojima se rjeđe pristupa iz memorije na određeni dio diska (HDD ili SSD). Ovaj dio diska naziva se zamjena.

Kad nema slobodne fizičke memorije, neki se podaci s rjeđim pristupom premještaju u zamjenu. Time se oslobađa fizička memorija i tako se sustav spašava od rušenja.

Zamjenski disk je vrlo spor u usporedbi s RAM -om ili fizičkom memorijom. Ako Linux sustav uvelike koristi swap prostor, sustav može postati vrlo spor i neće reagirati. Dakle, Linux sustav ne bi trebao koristiti prostor za zamjenu. Želimo to izbjeći što je više moguće. Kad Linux sustav počne puniti prostor za zamjenu, to je znak da Linux sustavu treba više fizičke memorije. Bilo bi dobro dodati više RAM -a ili fizičke memorije u sustav.

Besplatna provjera upotrebe memorije:

besplatno je naredba koja prikazuje ukupne podatke o korištenju memorije u sustavu. besplatno prema zadanim postavkama isporučuje se sa gotovo svim distribucijama Linuxa.

Upotrebu memorije možete provjeriti pomoću besplatno naredite na sljedeći način:

$besplatno

The besplatno naredba bez opcija naredbenog retka prikazuje podatke o memoriji i zamjeni u jedinici Kibibajta.

Prema zadanim postavkama, besplatno naredba prikazuje međuspremnike i upotrebu predmemorije u buff / cache stupac. Ako želite vidjeti međuspremnike i predmemoriju zasebno, pokrenite besplatnu naredbu s -u opciju kako slijedi:

$besplatno -u

Kao što vidite, odbojnici i predmemorija podaci o korištenju memorije prikazani su u različitim stupcima.

Besplatna naredba prikazuje sljedeće podatke:

ukupno: Ovo je ukupna dostupna fizička memorija i prostor za zamjenu (u kibibajtima) vašeg Linux sustava.

koristi se: Ovo je količina fizičke memorije i zamjenskog prostora koju koristi vaš Linux sustav. Uočite da se 0 KiB zamjenskog prostora koristi na mom Ubuntu stroju. Dakle, uopće ne koristi zamjenu. To je jako dobro.

besplatno: To je količina fizičke memorije koja je još uvijek neiskorištena.

podijeljeno: To je količina memorije koju dijele različiti procesi ili programi. Jedan ili više Linux programa mogu koristiti istu knjižnicu ili pozive funkcija. Umjesto da memoriju dodjeljuje više puta za iste stvari, Linux inteligentno dijeli zajedničke stvari među tim procesima ili programima. Time se štedi fizičko pamćenje. The tmpfs datotečni sustavi (tj. /dev/shm , /trčanje , /trčanje/zaključavanje , /run/user/ , /sys/fs/cgroup itd.) također koriste fizičku memoriju koja se dijeli sa svim procesima i programima u Linuxu.

odbojnici: Ovo je količina memorije koju koriste međuspremnici jezgre. Međuspremnik je blok memorije u kojem se podaci privremeno čuvaju tijekom premještanja podataka s jednog mjesta na drugo.

predmemorija: Ovo je količina fizičke memorije koja se koristi za podatke predmemorije.

buff / cache: Ovo je ukupna količina fizičke memorije koja se koristi za međuspremnike i predmemoriju.

dostupno: Ovo je procijenjena dostupna fizička memorija koja se može koristiti za pokretanje novih aplikacija bez zamjene.

Također možete koristiti različite opcije naredbenog retka za pregled memorije i zamjenu podataka o upotrebi u različitim jedinicama.

Na primjer, da biste vidjeli memoriju i zamijenili podatke o upotrebi u bajtima, pokrenite datoteku besplatno naredba s -b ili –Bytes opciju kako slijedi:

$besplatno -b

Da biste vidjeli memoriju i zamijenili podatke o upotrebi u kibibajtima (zadano), pokrenite datoteku besplatno naredba s -do ili –Kibi opciju kako slijedi:

$besplatno -do

Da biste vidjeli memoriju i zamijenili podatke o upotrebi u mebibajtima, pokrenite besplatno naredba sa -m ili –Mebi opciju kako slijedi:

$besplatno -m

Da biste vidjeli memoriju i zamijenili podatke o upotrebi u gibibajtima, pokrenite besplatno naredba sa -g ili -kao opciju kako slijedi:

$besplatno -g

Na isti način možete koristiti i -tebi i –Pebi mogućnosti naredbenog retka za prikaz memorije i razmjenu podataka o upotrebi u tebibajtima, odnosno pebibajtima.

Ako želite prikazati memoriju i zamijeniti podatke o upotrebi u kilobajtima, pokrenite datoteku besplatno naredba sa -kilo opciju kako slijedi:

$besplatno --kilo

Ako želite prikazati memoriju i zamijeniti podatke o upotrebi u megabajtima, pokrenite datoteku besplatno naredba s -mega opciju kako slijedi:

$besplatno --mega

Ako želite prikazati memoriju i zamijeniti podatke o upotrebi u gigabajtima, pokrenite datoteku besplatno naredba sa –Giga opciju kako slijedi:

$besplatno --giga

Na isti način možete koristiti i –Tera i -karta mogućnosti naredbenog retka za prikaz memorije i razmjenu podataka o upotrebi u terabajtima, odnosno petabajtima.

The besplatno naredba također ima izlaznu opciju čitljivu čovjeku. Ova će opcija ispisati vrlo lako razumljivu (za ljude) memoriju i zamijeniti podatke o upotrebi na zaslonu.

Za izlaz koji je čitljiv ljudima pokrenite besplatno naredba s -h ili - ljudi opciju kako slijedi:

$besplatno -h

Kao što vidite, ljudsko čitljiv format doista je lako razumljiv.

The -h ili - ljudi opcija prema zadanim postavkama ispisuje memoriju i mijenja podatke o upotrebi u bajtima, kibibajtima, mebibajtima, gibibajtima, tebibajtima ili pebibajtima. Ove jedinice koriste bazu-2 ili binarni numerički sustav (snage 2).

Ako želite vidjeti ljudski čitljiv izlaz u bazi-10 ili decimalnom numeričkom sustavu (snage 10), pokrenite besplatnu naredbu sa -h ili - ljudi opciju naredbenog retka, kao i -Da opcija naredbenog retka kako slijedi:

$besplatno --ljudski --Da

The besplatno naredba će ispisati memoriju i zamijeniti podatke o upotrebi u bajtima, kilobajtima, megabajtima, gigabajtima, terabajtima ili petabajtima. Ove jedinice koriste bazu-10 ili decimalni numerički sustav (snage 10).

Ako želite prikazati ukupnu memoriju i zamijeniti podatke o upotrebi, pokrenite besplatnu naredbu s opcijom -t ili –total na sljedeći način:

$besplatno -t

Kao što vidite, informacije o ukupnoj upotrebi memorije (fizička + zamjena) prikazane su na kraju izlaza.

Također možete pokrenuti besplatno naredba u načinu nadzora. U ovom načinu rada, besplatno naredba će kontinuirano ispisivati ​​memoriju i mijenjati podatke o upotrebi nakon zadanog vremenskog intervala (u sekundama).

Možete pokrenuti besplatno naredba u načinu nadzora s -s ili - sekunde opcija naredbenog retka kako slijedi:

$besplatno -s <odgoditi>

Ili,

$besplatno- sekunde<odgoditi>

Ovdje, je broj sekundi nakon kojih će se na ekranu ispisati nova informacija o korištenju memorije i zamjeni.

Na primjer, da biste ispisivali memoriju i neprestano mijenjali podatke o upotrebi u razmaku od 5 sekundi, pokrenite besplatnu naredbu na sljedeći način:

$besplatno -s 5

Kao što vidite, podaci o korištenju memorije i zamjene ispisuju se svakih 5 sekundi.

Ako želite zaustaviti besplatno naredba, pritisnite + C .

U načinu praćenja, besplatno naredba će prema zadanim postavkama kontinuirano ispisivati ​​memoriju i mijenjati podatke o upotrebi. Možete koristiti -c ili -računati opcija naredbenog retka za ograničavanje broja ispisa novih informacija o upotrebi memorije i zamjeni na zaslonu.

Na primjer, da biste ispisali memoriju i zamijenili podatke o upotrebi 5 puta u razmaku od 10 sekundi, pokrenite datoteku besplatno naredite na sljedeći način:

$besplatno -s 10 -c 5

Kao što vidite, besplatno naredba je ispisala memoriju i zamijenila podatke o upotrebi samo 5 puta u razmaku od 10 sekundi.

To je gotovo sve što trebate znati da biste provjerili memoriju i zamijenili upotrebu s besplatno naredba. No, ako želite saznati više, provjerite stranicu stranica besplatno naredite na sljedeći način:

$čovjek besplatno

Stranica korisnika besplatno treba prikazati naredbu.

Provjera korištenja memorije čitanjem /proc /meminfo datoteke:

Također možete provjeriti podatke o upotrebi memorije vašeg Linux sustava čitanjem /proc/meminfo datoteka.

Možete pročitati /proc/meminfo datoteku sa sljedećom naredbom:

$mačka /posto/meminfo

Datoteka ima mnogo podataka o korištenju memorije. Upotreba memorije je u jedinici kibibajta.

Najvažnije informacije o upotrebi memorije u /proc/meminfo datoteka su:

MemTotal: Ovo je ukupna instalirana memorija ili fizička memorija (RAM) Linux sustava.

MemFree: To je količina neiskorištene fizičke memorije (RAM).

Mem Dostupan: To je procijenjena količina fizičke memorije (RAM) dostupna za nove programe.

Odbojnici: Ovo je količina fizičke memorije koja je rezervirana za međuspremnike jezgre. Međuspremnici se koriste za privremeno spremanje podataka dok se premještaju s jednog mjesta na drugo.

Predmemorirano: Ovo je količina fizičke memorije koja se koristi kao predmemorija.

SwapCached: To je količina memorije koja je premještena na zamjenski disk i vraćena u fizički RAM. No, podaci se i dalje spremaju na zamjenski disk.

Aktivan: To je količina fizičke memorije koja se koristi i obično se ne može povratiti ako nije potrebno.

Neaktivno: To je količina fizičke memorije koja se koristi i lako se može obnoviti drugim procesima ili programima ako je potrebno.

Aktivno (ne): Ovo je količina fizičke memorije koju koriste anonimni datotečni sustavi tmpfs i zajednička memorija.

Neaktivno (anonimno): Ovo je količina fizičke memorije koju koriste anonimni tmfs datotečni sustavi i zajednička memorija koju je moguće povratiti.

Aktivno (datoteka): To je količina keš memorije koja se aktivno koristi.

Neaktivno (datoteka): Ovo je količina keš memorije koja je novo učitana ili je moguće obnoviti.

Neuklonjivo: Ovo je količina memorije koja se ne može povratiti jer je zaključana korisničkim programima.

Zaključano: Ovo je ukupna količina memorije koja se ne može povratiti jer je zaključana korisničkim programima.

SwapTotal: Ovo je ukupna veličina zamjenjivog diska.

Bez zamjene: Ovo je količina slobodnog prostora za zamjenu.

Prljavo: Ukupna količina memorije koja čeka da se vrati na disk.

Pisati natrag: Ukupna količina memorije koja se zapisuje na disk.

AnonPages: Ukupna količina memorije koju stranice koriste i preslikane su u tablice stranica korisničkog prostora.

Mapirano: Količina memorije koja se koristi za datoteke koje je mmapirala jezgra Linuxa, poput knjižnica koje koriste različiti programi.

Primjer: Ovo je količina memorije koju dijele i koriste tmpfs datotečni sustavi.

KRPrihvatljivo: Količina memorije koju zahtijeva jezgra i može se povratiti kada je to potrebno.

Ploča: To je količina memorije koju kernel koristi za keširanje struktura podataka za upotrebu jezgre.

SRPrihvatljivo: Ovo je količina memorije s ploče koja se može povratiti.

SUnpotraživanje: To je količina memorije s ploče koja se ne može povratiti čak ni kada je to potrebno.

KernelStack: Ovo je količina memorije koja se koristi za dodjelu stoga jezgre.

Tablice stranica: Ovo je količina memorije koja je namijenjena tablicama stranica. Tablica stranica je struktura podataka koju računalo koristi za mapiranje između virtualne memorije i fizičke memorije.

Odskakivati: Ovo je količina memorije koja se koristi za međuspremnik blok uređaja (tj. Memorijskih uređaja kao što su HDD ili SSD).

PovratniTmp: Količina memorije koja se koristi za FUSE privremene međuspremnike za pisanje.

Postoje mnoge druge informacije o korištenju memorije u /proc/meminfo datoteka. Ako ste zainteresirani, možete pogledati što se nalazi na man stranici posto .

Za otvaranje stranice korisnika posto , pokrenite sljedeću naredbu:

$čovjek 5posto

Treba otvoriti stranicu proc.

Upišite /proc/meminfo i pritisnite . Trebao bi vas odvesti do odjeljka /proc /meminfo kao što možete vidjeti na slici ispod. Opise svih polja pronaći ćete u /proc/meminfo datoteku ovdje.

Provjera upotrebe memorije pomoću vrha:

The vrh je program koji prikazuje pokrenute procese i njihovu upotrebu resursa u stvarnom vremenu. The vrh dolazi unaprijed instaliran u većini Linux distribucija.

Možete trčati vrh sa sljedećom naredbom:

$vrh

The vrh program bi trebao početi. U gornjem odjeljku vrh programa kako je označeno na donjoj snimci zaslona, ​​trebali biste vidjeti sažetak korištenja memorije i zamjene u jedinici mebibajta (zadano).

The vrh naredba će prikazati sljedeće podatke o fizičkoj memoriji:

ukupno: Ukupna dostupna fizička memorija sustava.

besplatno: Količina fizičke memorije još uvijek neiskorištena.

koristi se: Količina fizičke memorije koju koristi sustav.

buff / cache: Količina fizičke memorije koja se koristi kao predmemorija i međuspremnik.

iskoristi Mem: Količina fizičke memorije koja je dostupna za nove programe.

The vrh naredba će prikazati sljedeće podatke o zamjeni:

ukupno: Ukupna raspoloživa zamjena memorije sustava.

besplatno: Količina slobodne zamjenske memorije sustava.

koristi se: Količina zamjenske memorije koju koristi sustav.

Možete pritisnuti m za promjenu između različitih načina sažetka korištenja memorije.

Na primjer, pritiskom m jednom će se prebaciti na sljedeći način. U ovom načinu rada, vrh prikazuje fizičku memoriju i podatke o uporabi zamjene kao postotak_pamćenja_korištenih/ukupno_spomena_u_mebibajtima .

Pritiskom m ponovno će promijeniti stil trake napretka. Podaci će biti isti kao i dosad.

The vrh naredba također prikazuje podatke o upotrebi memorije za svaki od procesa koji se izvode na vašem računalu u stvarnom vremenu. Gornja naredba prema zadanim postavkama prikazuje podatke o korištenju memorije procesa u jedinici kibibajta.

Prema zadanim postavkama, vrh naredba prikazuje sljedeće podatke o korištenju memorije:

POŠTOVANO: Ovo je veličina virtualne memorije procesa. Virtualna memorija je ukupna fizička i zamjenska memorija koju koristi proces.

GOVEDINA: Ovo je veličina stalne memorije procesa. Rezidentna memorija je količina fizičke memorije koju proces koristi.

SHR: Ovo je veličina dijeljene memorije procesa. To je količina memorije koju proces koristi i koja se dijeli s nekim drugim procesima.

%MEM: Postotak fizičke memorije koju proces koristi.

Možete konfigurirati vrh naredba za prikaz više informacija o korištenju memorije, poput,

KODIRATI: Ovo je veličina koda procesa. To je količina fizičke memorije posvećena izvršnom kodu procesa. Također je poznat i kao Text Resident Set ili TRS.

PODACI: Ovo je veličina podataka i hrpe procesa. To je količina memorije koju rezervira proces. Možda još nije preslikano u fizičku memoriju. Ali uvijek će se pojaviti u virtualnoj memoriji (VIRT) procesa. Također je poznat i kao Data Resident Set ili DRS.

RSan: Ovo je stalna anonimna veličina memorije procesa. To je podskup fizičke memorije (RES) koja predstavlja privatne stranice koje još nisu mapirane u datoteku.

RSfd: Ovo je Resident File File-Backed Memory veličina procesa. To je podskup fizičke memorije (RES) koja predstavlja zajedničke stranice i podržavaju slike programa, zajedničke knjižnice, preslikavanja datoteka itd.

RSsh: Ovo je Resident Shared Memory veličina procesa. To je podskup fizičke memorije (RES) koja predstavlja zajedničke anonimne stranice.

RSlk: Ovo je Resident Locked Memory veličina procesa. To je količina fizičke memorije (RES) koja se ne može zamijeniti. Mora ostati u fizičkom sjećanju.

ZAMJENA: Ovo je zamijenjena veličina procesa. To je količina informacija o fizičkoj memoriji (RES) koja se iz fizičke memorije premješta na zamjenski prostor na disku.

UPOTREBLJENO: Ovo je ukupna količina memorije (fizička + zamjena) koju proces koristi.

UPORABLJENO = RES + ZAMJENA.

Imajte na umu da je fizička memorija (RES) koju koristi proces zbrajanje stalne veličine anonimne memorije (RSan), veličine memorije s stalnom datotekom (RSfd) i veličine stalne zajedničke memorije (RSsh).

RES = RSan + RSfd + RSsh

Da biste omogućili ove stupce s podacima o memoriji, pokrenite vrh i pritisnite f .

Pomoću tipki sa strelicama dođite do označenih stupaca i pritisnite da ga prebacite. Omogućeni stupci imat će * oznaka s lijeve strane.

Kada završite, pritisnite što za povratak na gornji prozor za praćenje procesa. Kao što vidite, prikazuju se stupci s podacima o korištenju memorije SWAP, CODE, DATA, USED, RSan, RSfd, RSlk, RSsh.

Prema zadanim postavkama, vrh naredba prikazuje podatke o korištenju memorije u kibibajtnoj jedinici. Ako želite vidjeti podatke o korištenju memorije u drugoj jedinici poput mebibajta, gibibajta, tebibajta ili pebibajta, to možete učiniti i vi.

Za prebacivanje između različitih memorijskih jedinica (kibibajt, mebibajt, gibibajt, tebibajt ili pebibajt), pokrenite vrh i pritisnite I .

vrh podaci o korištenju memorije prikazuju se u mebibajtima.

vrh podaci o korištenju memorije prikazuju se u gibibajtima.

vrh Podaci o korištenju memorije prikazuju se u vamabajtima.

vrh Podaci o korištenju memorije prikazuju se u pebibajtima.

Na vašem Linux operativnom sustavu radi mnogo procesa. Vršna naredba ne može ih prikazati sve odjednom. Možete pritisnuti i držati i tipke sa strelicama za kretanje po popisu procesa vrh prikazuje naredbe.

Također možete sortirati izlaz gornje naredbe prema određenom stupcu.

Recimo, želite vidjeti koji proces koristi najviše količine zamjenskog prostora. Da biste to učinili, trčite vrh i pritisnite f .

Zatim odaberite stupac SWAP pomoću tipki sa strelicama na tipkovnici i pritisnite s .

Polje sortiranja vrh naredbu treba promijeniti u SWAP. Pritisnite što za povratak na prozor za praćenje procesa.

Kao što vidite, prvi su navedeni procesi koji koriste najviše zamjenskog prostora.

Nakon što ste konfigurirali vrh naredbu, možete pritisnuti + u za spremanje konfiguracije u toprc konfiguracijsku datoteku. Na ovaj način ne morate ponovno konfigurirati vrh svaki put kad ga koristite.

Provjera upotrebe memorije pomoću htopa:

htop je preglednik procesa u stvarnom vremenu za Linux, poput vrh . Ali htop ima dodatne značajke koje vrh ne. Najočitija nova značajka htop je isticanje sintakse i bolje korisničko sučelje. Možeš reći htop je produžena vrh .

Poput vrh , htop nije unaprijed instaliran na većini distribucije Linuxa. No, dostupan je u službenom spremištu paketa gotovo svih distribucija Linuxa. Dakle, možete ga jednostavno instalirati na željenu Linux distribuciju.

Instalirati htop na Ubuntu/Debian -u pokrenite sljedeće naredbe:

$sudoprikladno ažuriranje
$sudoprikladaninstalirati htop -i

BILJEŠKA: Na CentOS/RHEL -u, htop dostupan je u spremištu EPEL -a. Prije nego instalirate htop , morate imati spremište EPEL -a ( epel-otpuštanje paket) instaliran na vašem CentOS/RHEL sustavu.

Instalirati htop na CentOS 7/RHEL 7 pokrenite sljedeće naredbe:

$sudo yum installepel-otpuštanje-i
$sudo yum install htop -i

Instalirati htop na CentOS 8/RHEL 8 pokrenite sljedeće naredbe:

$sudodnfinstaliratiepel-otpuštanje-i
$sudodnfinstalirati htop -i

Jednom htop je instaliran, možete ga pokrenuti sljedećom naredbom:

$htop

Htop treba početi.

Na vrhu, htop prikazuje fizičku memoriju i sažetak korištenja zamjene. Također prikazuje memoriju i upotrebu zamjene u lijepom stupčastom grafikonu.

Podaci o korištenju memorije i zamjene su u formatu rabljeno / ukupno . htop će automatski odlučiti da jedinica (kibibajt, mebibajt, gibibajt, tebibajt ili pebibajt) najbolje opisuje memoriju i zamijeni podatke o upotrebi.

Trake za korištenje memorije i zamjene predstavljene su različitim bojama. Boje imaju značenje.

Da biste znali što svaka boja predstavlja, trčite htop i pritisnite h za pristup prozoru za pomoć htop .

Kao što vidite, zelena boja predstavlja fizičku memoriju koju koriste različiti programi/procesi, plava boja predstavlja fizičku memoriju koja se koristi kao međuspremnici, žuta boja predstavlja fizičku memoriju koja se koristi kao predmemorija, a crvena boja koristi se zamijeniti prostor.

Da se vratimo na glavno htop prozor, pritisnite što .

Poput vrh , htop program također prikazuje podatke o korištenju memorije za svaki od procesa koji se izvode na vašem Linux sustavu. htop će automatski odlučiti da jedinica (kibibajt, mebibajt, gibibajt, tebibajt ili pebibajt) najbolje opisuje korištenje memorije svakog od procesa.

Prema zadanim postavkama, htop naredba prikazuje sljedeće podatke o korištenju memorije:

VIRT/M_SIZE: Ovo je veličina virtualne memorije procesa. Virtualna memorija je ukupna fizička i zamjenska memorija koju koristi proces.

RES/M_RESIDENT: Ovo je rezidentna veličina procesa. Rezidentna memorija je količina fizičke memorije koju proces koristi. Jednako je tekstu + podaci + stog ili M_TRS + M_DRS.

SHR/M_SHARE: Ovo je veličina zajedničke memorije procesa. Ovo je količina memorije koju proces koristi i koja se dijeli s nekim drugim procesima.

%MEM/PERCENT_MEM: Postotak fizičke memorije koju proces koristi.

Možete konfigurirati htop naredba za prikaz više informacija o korištenju memorije, poput,

KOD / M_TRS: Ovo je veličina koda procesa. To je količina fizičke memorije posvećena izvršnom kodu procesa.

PODACI/M_DRS: Ovo je veličina podataka i hrpe procesa. To je količina memorije koju rezervira proces. Možda još nije preslikano u fizičku memoriju. Ali uvijek će se pojaviti u virtualnoj memoriji (VIRT/M_SIZE) procesa.

LIB/M_LRS: Ovo je veličina knjižnice procesa. To je količina fizičke memorije koju koristi knjižnični kôd (koji koristi proces/program).

DIRTY/M_DT: Ovo je veličina prljavih stranica procesa. Odjeljak/stranica koji je izmijenjen u međuspremniku naziva se prljava stranica.

Da biste omogućili ove stupce s podacima o memoriji, pokrenite htop i pritisnite F2 .

Zatim prijeđite na Stupci od Postaviti odjeljak, odaberite stupac ispred kojeg želite dodati nove stupce iz Aktivne kolone odjeljak, odaberite stupac koji želite dodati iz Dostupni stupci odjeljak i pritisnite da biste dodali stupac.

Stupac treba dodati u Aktivne kolone odjeljak.

Na isti način dodajte ostale memorijske stupce (stupce koji počinju s M_ ). Kada završite, pritisnite da se vratim na glavno htop prozor.

Kao što vidite, dodani su dodatni stupci s podacima o korištenju memorije.

Procese možete vidjeti u pogled na stablo . S tog gledišta, procesi su organizirani prema odnosu roditelj-dijete.

Za prelazak na prikaz stabla pritisnite t . Kao što vidite, procesi su vrlo lijepo organizirani njihovim odnosom roditelj-dijete. U ovom načinu rada možete vidjeti koje je podređene procese pokrenuo roditeljski proces i njihovu upotrebu memorije.

Za izlaz iz prikaza stabla pritisnite t opet. Trebali biste se vratiti na zadani prikaz.

Također možete sortirati procese prema različitim stupcima korištenja memorije. Prema zadanim postavkama, procesi su razvrstani prema upotrebi procesora (CPU%).

Za sortiranje procesa prema određenom stupcu pritisnite F6 .

Zatim odaberite stupac po kojem želite sortirati procese iz Poredaj po odjeljak i pritisnite .

Rasporedit ću procese prema M_RESIDENT / GOVEDINA stupac za demonstraciju.

Kao što vidite, procesi su lijepo poredani prema upotrebi stalne memorije.

The htop program navodi mnogo procesa. Svi se ti procesi ne mogu prikazati u ograničenoj veličini prozora/zaslona. No, možete pritisnuti tipku i tipke sa strelicama za jednostavno kretanje po popisu procesa.

Provjera upotrebe memorije pomoću programa smem:

Provjera korištenja memorije poput programa vrh , htop, itd. prikazuje punu zajedničku memoriju za svaki od procesa. To znači da, iako memoriju dijele neki procesi, ona broji ovu iskorištenu memoriju za svaki od procesa koji dijele tu memoriju. Dakle, dobivate neku vrstu netočnih podataka o korištenju memorije.

U matematici to izgleda ovako,

fizička upotreba memorije procesa = upotreba zajedničke memorije + upotreba nepodijeljene memorije

mogu pokušava to izbjeći i ispravno prijaviti korištenje memorije. Dijeli zajedničku memoriju brojem procesa koji koriste tu zajedničku memoriju i dodaje rezultat svakom od procesa koji dijele tu memoriju. Dakle, upotreba memorije se lijepo zbraja. Ukupna potrošnja memorije bit će zbroj korištenja memorije svih procesa. To se neće dogoditi u htop ili vrh .

U matematici to izgleda ovako,

fizička memorija korištenje procesa =(korištenje zajedničke memorije/broj procesa koji dijele memoriju)
+ nepodijeljena memorija

mogu nije predinstaliran prema zadanim postavkama u većini distribucija Linuxa. No, dostupan je u službenom spremištu paketa većine distribucije Linuxa.

Na Ubuntu/Debian možete instalirati mogu sa sljedećim naredbama:

$sudoprikladno ažuriranje
$sudoprikladaninstaliratimogu-i

Na CentOS/RHEL 7, mogu dostupan je u spremištu paketa EPEL. Dakle, za instalaciju morate dodati spremište EPEL na CentOS/RHEL 7 mogu .

Na CentOS/RHEL 7 možete instalirati mogu sa sljedećim naredbama:

$sudo yum installepel-otpuštanje-i
$sudo yum installmogu-i

Nažalost, mogu nije dostupno u službenom spremištu paketa ili EPEL spremištu CentOS/RHEL 8. Trebali biste biti u mogućnosti sastaviti mogu s izvora ili preuzmite mogu binarni iz službena web stranica tvrtke smem .

Ako želite sastaviti mogu iz izvora, zatim možete preuzeti izvorni kod smema iz službena izvorna stranica smema .

Ako želite preuzeti mogu unaprijed sastavljenu binarnu datoteku, a zatim je možete preuzeti iz službena stranica za preuzimanje smem .

mogu može prikazati potrošnju memorije svakog korisnika.

Pokrenite da biste saznali koliko memorije koristi Linux korisnik mogu kako slijedi:

$sudomogu-vas

Evo, -do Opcija se koristi da pokaže jedinici da mogu koristi za prikaz informacija o korištenju memorije.

mogu koristi sljedeće jedinice:

K - Kibibajt

M - Mebibajt

G - Gibibajt

T - Tebibajt

P - Pebibajt

The -do opcija se koristi za skaliranje izlaznih stupaca ovisno o veličini prozora terminala. Na ovaj način možete popraviti izlaz datoteke mogu vrlo lako ako se izreže bilo koji važan tekst.

The -u Opcija se koristi za prikaz informacija o korištenju memorije korisnika.

Kao što vidiš, mogu izvijestio je podatke o korištenju memorije i zamjeni svakog korisnika mog Ubuntu stroja.

mogu prikazuje sljedeće podatke o korištenju korisničke memorije:

Korisnik: Korisničko ime za Linux za koje se prijavljuje upotreba memorije.

Računati: Broj procesa koje korisnik trenutno izvodi.

Zamjena: Količina zamjenjivog prostora na disku koju korisnik koristi.

USS: Ovo je ukupna jedinstvena veličina skupa korisničkih procesa. Ukupna količina fizičke memorije koju koriste procesi u vlasništvu korisnika ne dijeli se s drugim procesima.

PSS: Ovo je ukupna proporcionalna veličina skupa korisničkih procesa. To je ukupna količina fizičke memorije i ravnomjerno podijeljena zajednička fizička memorija koju koriste procesi u vlasništvu korisnika.

RSS: Ovo je ukupna veličina stalnog skupa korisničkih procesa. To je ukupna količina fizičke memorije i zajedničke fizičke memorije koju koriste procesi u vlasništvu korisnika. RSS informacije o korištenju RSS memorije mogu isti je kao i podaci o korištenju RSS memorije vrh ili htop .

Prema zadanim postavkama, mogu prikazuje podatke o korištenju memorije u rastućem redoslijedu (od najniže do najviše). Ako želite vidjeti podatke o korištenju memorije silaznim redoslijedom (od najvećeg do najnižeg), upotrijebite -r opciju od mogu kako slijedi:

$sudomogu-kaur

Kao što vidiš, mogu prikazao iste podatke o korištenju korisničke memorije. Ali silaznim redoslijedom.

Ako želite vidjeti podatke o ukupnoj potrošnji korisničke memorije, pokrenite mogu sa -t opciju kako slijedi:

$sudomogukroz

Kao što vidiš, mogu dodaje podatke svih redaka za svaki stupac i prikazuje podatke o ukupnoj upotrebi memorije svakog od stupaca na kraju.

Prema zadanim postavkama, mogu prikazuje podatke o korištenju memorije u jedinici kibibajta. Ako koristite -do opcija, mogu će automatski odabrati najbolju jedinicu za prikaz podataka o korištenju memorije.

Ako želite prikazati podatke o upotrebi memorije kao postotak ukupne dostupne fizičke memorije ili zamijeniti prostor na disku, možete koristiti -str opciju umjesto -do opciju kako slijedi:

$sudomogu-pau

Kao što vidiš, mogu prikazuje podatke o korištenju korisničke memorije u postotku ukupne fizičke memorije i zamjeni prostora na disku.

Ako želite vidjeti informacije o upotrebi memorije u cijelom sustavu ili sažetak korištenja sistemske memorije, pokrenite mogu sa -u opciju kako slijedi:

$sudomogu-zao

Kao što vidiš, mogu prikazuje podatke o korištenju memorije u cijelom sustavu.

mogu prikazuje sljedeće podatke o upotrebi memorije u cijelom sustavu:

Područje: Dio sustava za koji se memorija koristi.

Koristi se: Količina fizičke memorije koja se koristi za ovo područje.

Predmemorija: Količina fizičke memorije koja se koristi kao predmemorija za ovo područje.

Bez keša: Količina fizičke memorije koja se koristi za ovo područje koja nije predmemorirana.

Na isti način kao i prije, možete koristiti -t mogućnost da vidite i podatke o ukupnoj upotrebi memorije u cijelom sustavu.

$sudomogu-oprezno

Također možete vidjeti korištenje memorije procesa koji se izvode na vašem Linux sustavu mogu .

Da biste to učinili, trčite mogu kako slijedi:

$sudomogu-kar

Kao što vidiš, mogu prikazuje podatke o korištenju memorije svakog od procesa koji se izvode na mom Ubuntu stroju.

mogu prikazuje sljedeće informacije o korištenju memorije koje se odnose na proces:

PID: ID procesa procesa.

Korisnik: Korisničko ime korisnika koji je pokrenuo proces ili je vlasnik procesa.

Naredba: Naredba koja se koristi za pokretanje procesa.

Zamjena: Količina zamjenjivog prostora na disku koji proces koristi.

USS: Ovo je jedinstvena veličina skupa procesa. Količina fizičke memorije koju proces koristi ne dijeli se s drugim procesima.

PSS: Ovo je proporcionalna veličina skupa procesa. To je količina fizičke memorije i ravnomjerno podijeljena zajednička fizička memorija koju proces koristi.

RSS: Ovo je veličina stalnog skupa procesa. To je količina fizičke memorije i zajedničke fizičke memorije koju proces koristi.

Također možete vidjeti podatke o korištenju memorije za svaku datoteku knjižnice s kojom se koriste procesi mogu .

Da biste vidjeli podatke o korištenju memorije svake datoteke knjižnice učitane u fizičku memoriju vašeg računala, pokrenite mogu sa -m opciju kako slijedi:

$sudomogu-kamr

mogu prikazat će podatke o korištenju memorije svake datoteke knjižnice učitane u fizičku memoriju vašeg računala, kao što možete vidjeti na donjoj snimci zaslona.

mogu prikazuje sljedeće podatke o korištenju memorije u biblioteci:

Karta: Datoteka knjižnice koja je preslikana u fizičku memoriju vašeg računala.

PID -ovi: Ukupan broj procesa koji koriste ovu datoteku knjižnice.

PSS: Ovo je ukupna proporcionalna veličina skupa procesa koji koriste datoteku knjižnice. To je količina fizičke memorije i ravnomjerno podijeljena zajednička fizička memorija koju procesi (koristeći ovu datoteku knjižnice) koriste.

AVGPSS: Ovo je prosječna proporcionalna veličina skupa procesa koji koriste ovu datoteku knjižnice. To je prosječna fizička memorija koju dijele svi procesi (koji koriste ovu datoteku knjižnice) koji se koriste. Također možete reći, AVGPSS = PSS/PID (otprilike).

Provjera upotrebe memorije pomoću vmstata:

vmstat je još jedan program za provjeru korištenja memorije u Linuxu. Prikazuje gotovo iste podatke kao u /proc/meminfo datoteka.

Da biste vidjeli informacije o korištenju memorije, pokrenite vmstat kako slijedi:

$vmstat -s

vmstat trebao bi prikazati podatke o upotrebi memorije na cijelom sustavu u kibibajtnoj jedinici kao što možete vidjeti na donjoj snimci zaslona.

vmstat prikazuje sljedeće podatke o korištenju memorije:

ukupna memorija: Ukupna dostupna fizička memorija vašeg računala.

iskorištena memorija: Ukupna iskorištena fizička memorija vašeg računala.

slobodna memorija: Ukupna slobodna fizička memorija vašeg računala.

ukupna zamjena: Ukupni raspoloživi zamjenski prostor na disku.

rabljena zamjena: Količina iskorištenog zamjenskog prostora na disku.

besplatna zamjena: Količina zamjenjivog prostora na disku i dalje je slobodna.

zamijeni predmemoriju: Količina zamjenjivog prostora na disku koja se koristi kao predmemorija.

međuspremnik: Količina fizičke memorije koja se koristi kao međuspremnik za privremeno zadržavanje podataka tijekom premještanja s jednog mjesta na drugo.

aktivna memorija: Količina fizičke memorije koja se koristi, ali je nije moguće povratiti ako to zahtijevaju drugi programi.

neaktivno pamćenje: Količina fizičke memorije koja se koristi, ali koju drugi programi lako mogu povratiti ako je potrebno.

Provjera upotrebe memorije pomoću GNOME System Monitora:

GNOME System Monitor grafički je softver za praćenje upotrebe memorije, pokrenutih procesa i upotrebe diska. Predinstaliran je na radnim okruženjima GNOME 3, Ubuntu MATE, Cinnamon i Budgie.

Informacije o upotrebi memorije i zamjeni možete vidjeti u Resursi kartica od GNOME Monitor sustava kao što možete vidjeti na slici ispod.

Prikazuje lijepu memoriju u stvarnom vremenu i mijenja grafikon upotrebe za posljednjih 60 sekundi. Iz ovog grafikona možete imati predodžbu o tome koliko se memorije i zamjene mijenjalo tijekom prekovremenog rada.

Prikazat će ukupnu raspoloživu fizičku memoriju, količinu upotrijebljene fizičke memorije, postotak korištene fizičke memorije i količinu fizičke memorije koja se koristi kao predmemorija. Također će vam pokazati lijep grafikon upotrebe fizičke memorije.

Također će prikazati ukupni raspoloživi prostor na disku, količinu upotrijebljenog prostora za zamjenu, postotak količine iskorištenog prostora za zamjenu i lijep grafikon upotrebe zamjene.

U Procesi kartica od GNOME Monitor sustava , možete vidjeti podatke o korištenju memorije svakog od procesa koji se izvode na vašem računalu.

Ako želite vidjeti više informacija o upotrebi memorije za procese, desnom tipkom miša kliknite (RMB) na naslovnoj traci i provjerite Virtualna memorija , Stalno sjećanje , i Zajednička memorija kao što je prikazano na slici ispod.

Podaci o korištenju virtualne (VIRT), stalne (RES) i zajedničke (RSS) memorije procesa trebali bi se prikazati kao što možete vidjeti na slici ispod.

Ove su informacije o korištenju memorije iste kao u vrh ili htop .

GNOME System Monitor prema zadanim postavkama prikazuje samo procese u vlasništvu vašeg korisnika za prijavu. Ako želite vidjeti popis svih procesa u vlasništvu svakog korisnika vašeg sustava, kliknite izbornik hamburgera (

) i odaberite Svi procesi kao što je prikazano na slici ispod.

Ako želite vidjeti procese u prikazu stabla (odnos roditelj-dijete), kliknite izbornik hamburgera (

) i provjeriti Prikaži ovisnosti kao što je prikazano na slici ispod.

U prikazu stabla možete vidjeti koji je proces (roditelj) započeo koje procese (dijete) redoslijedom pokretanja. Također možete vidjeti koliko memorije svaki od roditeljskih procesa troši i koliko memorije troši svako dijete.

Provjera upotrebe memorije pomoću KSysGuarda:

KSysGuard je grafički softver za praćenje upotrebe memorije i pokrenutih procesa. Predinstaliran je u radnom okruženju KDE Plasma.

Informacije o upotrebi memorije i zamjeni možete vidjeti u Opterećenje sustava kartica od KSysGuard kao što možete vidjeti na slici ispod.

U Tablica procesa kartica od KSysGuard , možete vidjeti podatke o korištenju memorije svakog od procesa koji se izvode na vašem računalu.

Prema zadanim postavkama, KSysGuard prikazuje podatke o fizičkoj memoriji i korištenju zajedničke memorije za svaki od pokrenutih procesa.

Možete pritisnuti desnu tipku miša (RMB) na naslovnoj traci i kliknite na Prikaži stupac 'Virtualna veličina' i Prikaži stupac 'Ukupna memorija' da biste vidjeli više informacija o korištenju memorije.

Kao što vidite, KSysGuard sada prikazuje i veličinu virtualne memorije (VIRT) i ukupnu potrošnju fizičke memorije za svaki od pokrenutih procesa.

Prema zadanim postavkama, KSysGuard prikazuje sve pokrenute procese u vlasništvu svakog korisnika u Tablica procesa tab. Možete promijeniti koje procese želite vidjeti s padajućeg izbornika u gornjem desnom kutu KSysGuarda kao što je prikazano na slici ispod.

Za prikaz stabla odaberite Svi procesi, stablo s padajućeg izbornika.

U prikazu stabla možete vidjeti koji je proces (roditelj) započeo koje procese (dijete) redoslijedom pokretanja. Također možete vidjeti koliko memorije svaki od roditeljskih procesa troši i koliko memorije troši svako dijete.

Ako želite vidjeti samo procese na razini sustava, odaberite Sistemski procesi s padajućeg izbornika. Ti su procesi obično u vlasništvu korijen korisnik.

Ako želite vidjeti procese na razini korisnika, odaberite Korisnički procesi s padajućeg izbornika. Ti su procesi obično u vlasništvu običnih korisnika (nekorijenski).

Ako želite vidjeti samo procese koji su u vlasništvu korisnika za prijavu, odaberite Vlastiti procesi .

Ako želite vidjeti samo programe koji se izvode na vašem računalu, a ne procese, odaberite Samo programi s padajućeg izbornika. Bit će navedeni samo aplikacijski programi koji se izvode na vašem računalu.

Zaključak:

U ovom sam članku opisao najčešće načine provjere korištenja memorije na Linuxu. Pokazao sam kako provjeriti upotrebu memorije Linux sustava iz naredbenog retka, kao i iz grafičkih desktop okruženja. Objasnio sam kako se koriste programi poput besplatno , vrh , htop , mogu , vmstat , GNOME Monitor sustava , i KSysGuard za provjeru korištenja memorije u sustavu Linux. Također sam raspravljao o izlaznom formatu ovih naredbi i programa. Ovaj članak trebao bi vas upoznati s provjerom korištenja memorije u sustavu Linux i pružiti vam detaljno znanje o alatima za provjeru korištenja memorije u sustavu Linux.