Slik kontrollerer du Linux -minnebruk

How Check Linux Memory Usage



Minne eller RAM (Random Access Memory) er svært viktig for en datamaskin. Programmene du kjører på datamaskinen, lagrer små biter av informasjon i RAM, slik at den kan få tilgang til den når det trengs så raskt som mulig.

RAM er veldig raskt, og det er nærmere CPU (Central Processing Unit) på datamaskinen. Siden RAM er nærmere CPU -en på datamaskinen, har CPU -en direkte tilgang til RAM. Dermed er datatilgangstiden svært liten sammenlignet med lagringsenheter som HDD eller SSD. Derfor bruker alle programmene RAM for å lagre hurtigbufferdata.







Dessverre er RAM veldig dyrt og begrenset. Uten nok ledig RAM vil datamaskinen ikke fungere skikkelig. De kjørende programmene på datamaskinen din kan henge eller stoppe. Du kan ikke starte noen nye programmer. I verste fall vil hele systemet henge og bli ubrukelig.



Kontroll av RAM -bruk er en av de viktigste oppgavene i Linux. Du kan diagnostisere mange Linux -problemer hvis du kan overvåke RAM -bruken av Linux -systemet ditt.



Det er mange verktøy for å kontrollere minnebruk i Linux. I denne artikkelen skal jeg vise deg noen av de vanligste måtene å kontrollere minnebruk på Linux. Så, la oss komme i gang.





Enhetene til datamaskinminne:

I denne artikkelen vil du se meg bruke begrepene kilobyte, megabyte, gigabyte, kibibytes, mebibytes, gibibytes, og så videre. Ikke bli forvirret. Jeg vil forklare dem i denne delen.

Alle datamaskinlagrene bruker samme enhet. Dette er veldig viktig å forstå.



Datalagringsenhetene er gitt nedenfor.

  • Bit: Den minste datamaskinen er litt. Litt kan inneholde enten en 0 eller en 1. Det er det.
  • Byte: 8 bits danner en byte.
  • Kilobyte: 1000 byte danner en kilobyte.
  • Megabyte: 1.000 kilobyte danner en megabyte.
  • Gigabyte: 1.000 megabyte danner en gigabyte.
  • Terabyte: 1.000 gigabyte danner en terabyte.
  • Petabyte: 1000 terabyte danner en petabyte.
  • kibibytes: 1024 byte danner en kibibyte.
  • Mebibyte: 1024 kibibytes danner en mebibyte.
  • Gibibyte: 1024 megabyte danner en gibibyte.
  • Tebibyte: 1024 gibibytes danner en tebibyte.
  • Pebibyte: 1024 tebibytes danner en pebibyte.

Når det gjelder byte, er datamaskinens lagringsenheter som følger.

  • Kilobyte: 1000 byte eller 103byte.
  • Megabyte: 1.000.000 byte eller 106byte.
  • Gigabyte: 1.000.000.000 byte eller 109byte.
  • Terabyte: 1.000.000.000.000 byte eller 1012byte.
  • Petabyte: 1.000.000.000.000.000 byte eller 10femtenbyte.
  • kibibytes: 1024 byte eller 210byte.
  • Mebibyte: 1048576 byte eller 2tjuebyte.
  • Gibibyte: 1 073 741 824 byte eller 230byte.
  • Tebibyte: 1 099 511 627 776 byte eller 240byte.
  • Pebibyte: 1.125.899.906.842.624 eller 2femtibyte.

Nå som du kjenner datamaskinens lagringsenheter, bør du enkelt kunne konvertere fra en enhet til en annen.

Legg merke til at kilobyte, megabyte, gigabyte, terabyte og petabyte er krefter på 10 byte. Men, kibibyte, mebibyte, gibibyte, tebibyte og pebibyte er krefter på 2 byte. For oss mennesker er det enkelt å beregne i potens på 10 (desimaltallsystem) ettersom vi har 10 fingre. Men for datamaskiner er det lettere å beregne i 2 -potens (binært tallsystem). Så, datamaskiner bruker krefter på 2 for å representere mengden lagring eller minne.

Enhetene har stenografi eller symboler. Du vil se dem veldig ofte mens du sjekker minnebruk i Linux.

Kortholdsbetegnelsene eller symbolene er gitt nedenfor.

  • Bytes: B
  • Kilobyte: KB eller kB
  • Megabyte: MB
  • Gigabyte: GB
  • Terabyte: OGSÅ
  • Petabyte: PB
  • Bytes: B
  • kibibytes: KiB eller K.
  • Mebibyte: MiB eller M.
  • Gibibyte: GiB eller G.
  • Tebibyte: TiB eller T.
  • Pebibyte: PiB eller P.

Noen programmer følger kanskje ikke denne standarden og bruker disse stenografiene eller symbolene om hverandre. Forskjellen er uansett ikke så stor mellom disse enhetene (dvs. kilobyte vs kibibyte). Ikke bekymre deg for det.

Minne vs bytte i Linux:

I Linux kalles det fysiske minnet hukommelse . Når det fysiske minnet fylles opp, flytter Linux intelligent dataene som er mindre tilgjengelig fra minnet til en bestemt del av disken (HDD eller SSD). Denne delen av disken kalles bytte.

Når det ikke er tilgjengelig ledig fysisk minne, flyttes noen sjeldnere tilgangsdata til byttet. Dette frigjør det fysiske minnet og sparer dermed systemet fra å krasje.

Bytt disk er veldig treg i forhold til RAM eller fysisk minne. Hvis et Linux -system bruker bytteplass i stor utstrekning, kan systemet bli veldig sakte og ikke svare. Så et Linux -system bør ikke bruke bytteplassen. Vi ønsker å unngå det så mye som mulig. Når et Linux -system begynner å fylle bytteplassen, er det et tegn på at Linux -systemet trenger mer fysisk minne. Det er en god idé å legge til mer RAM eller fysisk minne i systemet.

Kontrollere minnebruk gratis:

gratis er en kommando som viser den totale minnebrukinformasjonen til systemet. gratis leveres med nesten all Linux -distribusjon som standard.

Du kan kontrollere minnebruk med gratis kommandoen som følger:

$gratis

De gratis kommando uten kommandolinjealternativer viser informasjon om minne og bytte i Kibibytes-enheten.

Som standard er gratis kommandoen viser bruk av buffere og hurtigbuffer i buff / cache kolonne. Hvis du vil se bufferne og hurtigbufferminnet separat, kjører du gratiskommandoen med -i alternativet som følger:

$gratis -i

Som du kan se, buffere og cache informasjon om minnebruk vises i forskjellige kolonner.

Gratiskommandoen viser følgende informasjon:

Total: Dette er det totale tilgjengelige fysiske minnet og bytteplass (i kibibytes) for Linux -systemet ditt.

brukt: Dette er mengden fysisk minne og bytteplass som brukes av Linux -systemet ditt. Legg merke til at 0 KiB bytteplass brukes i Ubuntu -maskinen min. Så det bruker ikke bytte i det hele tatt. Det er veldig bra.

gratis: Dette er mengden fysisk minne som fremdeles er ubrukt.

delt: Dette er mengden minne som deles av forskjellige prosesser eller programmer. Ett eller flere Linux -programmer kan bruke det samme biblioteket eller funksjonskall. I stedet for å tildele minne flere ganger for de samme tingene, deler Linux intelligent de vanlige tingene blant disse prosessene eller programmene. Dette sparer fysisk minne. De tmpfs filsystemer (dvs. /dev/shm , /løpe , /løp/lås , /run/user/ , /sys/fs/cgroup etc.) bruker også noe fysisk minne som deles med alle prosesser og programmer i Linux.

buffere: Dette er mengden minne som brukes av kjernebuffere. En buffer er en minneblokk der data lagres midlertidig mens data flyttes fra ett sted til et annet.

cache: Dette er mengden fysisk minne som brukes til hurtigbufferdata.

buff / cache: Dette er den totale mengden fysisk minne som brukes til buffere og cache.

tilgjengelig: Dette er det estimerte tilgjengelige fysiske minnet som kan brukes til å starte nye applikasjoner uten å bytte.

Du kan også bruke forskjellige kommandolinjealternativer for å se minnet og bytte bruksinformasjon i forskjellige enheter.

For eksempel, for å se minnet og bytte bruksinformasjon i byte, kjør gratis kommando med -b eller –Bytes alternativet som følger:

$gratis -b

For å se minnet og bytte bruksinformasjon i kibibytes (standard), kjør gratis kommando med -til eller –Kibi alternativet som følger:

$gratis -til

For å se minnet og bytte bruksinformasjon i megabyte, kjør gratis kommando med -m eller –Mebi alternativet som følger:

$gratis -m

For å se minnet og bytte bruksinformasjon i gibibytes, kjør gratis kommando med -g eller -som alternativet som følger:

$gratis -g

På samme måte kan du bruke -til deg og –Pebi kommandolinjealternativer for å vise minne og bytte bruksinformasjon i henholdsvis tebibytes og pebibytes.

Hvis du vil vise minnet og bytte bruksinformasjon i kilobyte, kjører du gratis kommando med -kilo alternativet som følger:

$gratis --kilo

Hvis du vil vise minnet og bytte bruksinformasjon i megabyte, kjører du gratis kommando med -mega alternativet som følger:

$gratis --mega

Hvis du vil vise minnet og bytte bruksinformasjon i gigabyte, kjører du gratis kommando med –Giga alternativet som følger:

$gratis --giga

På samme måte kan du bruke –Tera og -kart kommandolinjealternativer for å vise minne og bytte bruksinformasjon i henholdsvis terabyte og petabyte.

De gratis kommandoen har også et alternativ som kan leses av mennesker. Dette alternativet vil skrive ut et veldig lettfattelig (for mennesker) minne og bytte bruksinformasjon på skjermen.

For utskrift som kan leses av mennesker, kjør gratis kommando med -h eller -menneskelig alternativet som følger:

$gratis -h

Som du kan se, er det lesbare formatet veldig lett å forstå.

De -h eller -menneskelig alternativet skriver ut minne og bytte bruksinformasjon i enten byte, kibibytes, mebibytes, gibibytes, tebibytes eller pebibytes som standard. Disse enhetene bruker base-2 eller det binære numeriske systemet (potensene 2).

Hvis du vil se den lesbare utgangen i base-10 eller desimaltallsystem (potens på 10), kan du kjøre gratiskommandoen med -h eller -menneskelig kommandolinjealternativet samt -Ja kommandolinjealternativ som følger:

$gratis --menneskelig --Ja

De gratis kommandoen vil skrive ut minnet og bytte bruksinformasjon i enten byte, kilobyte, megabyte, gigabyte, terabyte eller petabyte. Disse enhetene bruker basis-10 eller desimaltallsystemet (krefter på 10).

Hvis du vil vise totalt minne og bytte bruksinformasjon, kjører du gratiskommandoen med alternativet -t eller –total som følger:

$gratis -t

Som du kan se, vises den totale informasjonen om bruk (fysisk + bytte) på slutten av utgangen.

Du kan også kjøre gratis kommando i overvåkingsmodus. I denne modusen vil gratis kommandoen vil kontinuerlig skrive ut minnet og bytte bruksinformasjon etter et gitt tidsintervall (i sekunder).

Du kan kjøre gratis kommando i overvåkingsmodus med -s eller –Sekunder kommandolinjealternativ som følger:

$gratis -s <forsinkelse>

Eller,

$gratis–Sekunder<forsinkelse>

Her, er antall sekunder som nytt minne og bytteinformasjon vil bli skrevet ut på skjermen.

For eksempel, for å skrive ut minne og bytte bruksinformasjon kontinuerlig med 5 sekunders intervall, kjør gratiskommandoen som følger:

$gratis -s 5

Som du kan se, skrives ut informasjon om minne og byttebruk hvert 5. sekund.

Hvis du vil stoppe gratis kommando, trykk + C .

I overvåkingsmodus, gratis kommandoen vil kontinuerlig skrive ut minne og bytte bruksinformasjon som standard. Du kan bruke -c eller -telle kommandolinjealternativ for å begrense antall ganger nytt minne og byttebruksinformasjon skrives ut på skjermen.

For eksempel, for å skrive ut minnet og bytte bruksinformasjon 5 ganger med 10 sekunders intervall, kjør gratis kommandoen som følger:

$gratis -s 10 -c 5

Som du kan se, gratis kommandoen skrev ut minnet og bytte bruksinformasjon bare 5 ganger med 10 sekunders intervall.

Det er nesten alt du trenger å vite for å sjekke minne og bytte bruk med gratis kommando. Men hvis du vil vite mer, sjekk mannssiden til gratis kommandoen som følger:

$Mann gratis

Mannssiden til gratis kommandoen skal vises.

Kontrollere minnebruk ved å lese /proc /meminfo -fil:

Du kan også sjekke minnebrukinformasjonen til Linux -systemet ditt ved å lese /proc/meminfo fil.

Du kan lese /proc/meminfo fil med følgende kommando:

$katt /prosent/meminfo

Filen har mye informasjon om minnebruk. Minnebruken er i kibibytes -enheten.

Den viktigste informasjonen om minnebruk i /proc/meminfo filen er:

MemTotal: Dette er det totale installerte minnet eller det fysiske minnet (RAM) for Linux -systemet.

MemFree: Dette er mengden ubrukt fysisk minne (RAM).

MemTilgjengelig: Dette er den estimerte mengden fysisk minne (RAM) som er tilgjengelig for nye programmer.

Buffere: Dette er mengden fysisk minne som er reservert for kjernebuffere. Buffere brukes til å lagre data midlertidig mens de flyttes fra et sted til et annet.

Bufret: Dette er mengden fysisk minne som brukes som hurtigminne.

ByttCachet: Dette er mengden minne som ble flyttet til byttedisken og flyttet tilbake til den fysiske RAM -en. Men dataene er fortsatt bufret i byttedisken.

Aktiv: Dette er mengden fysisk minne som brukes og vanligvis ikke kan gjenvinnes med mindre det er nødvendig.

Inaktiv: Dette er mengden fysisk minne som brukes og lett kan gjenvinnes av andre prosesser eller programmer om nødvendig.

Aktiv (anon): Dette er mengden fysisk minne som brukes av de anonyme tmpfs -filsystemene og det delte minnet.

Inaktiv (anon): Dette er mengden fysisk minne som brukes av de anonyme tmfs filsystemer og delt minne som kan gjenvinnes.

Aktiv (fil): Dette er mengden buffer som brukes aktivt.

Inaktiv (fil): Dette er mengden hurtigminne som er nylig lastet inn eller kan gjenvinnes.

Uunngåelig: Dette er mengden minne som ikke kan gjenvinnes ettersom det er låst av brukerprogrammer.

Låst: Dette er den totale mengden minne som ikke kan gjenvinnes ettersom det er låst av brukerprogrammer.

Bytt totalt: Dette er den totale størrelsen på byttedisken.

Bytt gratis: Dette er mengden bytteplass som er ledig.

Skitne: Den totale mengden minne som venter på å bli skrevet tilbake til disken.

Writeback: Den totale mengden minne som skrives tilbake til disken.

AnonPages: Den totale mengden minne som brukes av sider og blir kartlagt i sidetabeller på brukerområdet.

Kartlagt: Mengden minne som brukes til filer som har blitt mappet av Linux -kjernen, for eksempel bibliotekene som brukes av forskjellige programmer.

Eksempel: Dette er mengden minne som deles og brukes av tmpfs filsystemer.

K Krevd: Mengden minne som kreves av kjernen og kan gjenvinnes når det er nødvendig.

Plate: Dette er mengden minne som brukes av kjernen til å lagre datastrukturer for bruk av kjernen.

SRclaimable: Dette er mengden minne fra platen som kan gjenvinnes.

SUkrev tilbake: Dette er mengden minne fra platen som ikke kan gjenvinnes selv om det er nødvendig.

KernelStack: Dette er mengden minne som brukes til tildeling av kjerner.

Sidetabeller: Dette er mengden minne som er dedikert til sidetabeller. En sidetabell er en datastruktur som brukes av en datamaskin for å kartlegge mellom virtuelt minne og fysisk minne.

Sprette: Dette er mengden minne som brukes til bufferen til blokkenheter (dvs. lagringsenheter som HDD eller SSD).

WritebackTmp: Mengden minne som brukes til FUSE midlertidige tilbakeslagsbuffere.

Det er mange andre minnebruk informasjon i /proc/meminfo fil. Hvis du er interessert, kan du se på hva de er på mannssiden prosent .

Å åpne hjemmesiden til prosent , kjør følgende kommando:

$Mann 5prosent

Mannens side for proc bør åpnes.

Skriv inn /proc/meminfo og trykk på . Det bør navigere deg til /proc /meminfo -delen som du kan se på skjermbildet nedenfor. Du finner beskrivelser av hvert felt i /proc/meminfo filen her.

Kontrollere minnebruk ved hjelp av toppen:

De topp er et program som viser kjørende prosesser og deres ressursbruk i sanntid. De topp kommer forhåndsinstallert i de fleste Linux -distribusjoner.

Du kan løpe topp med følgende kommando:

$topp

De topp programmet bør starte. På den øverste delen av topp programmet som markert på skjermbildet nedenfor, bør du se minnet og bytte bruksoppsummering i megabyte -enheten (standard).

De topp kommandoen viser følgende fysiske minneinformasjon:

Total: Det totale tilgjengelige fysiske minnet til systemet.

gratis: Mengden fysisk minne er fortsatt ubrukt.

brukt: Mengden fysisk minne som brukes av systemet.

buff / cache: Mengden fysisk minne som brukes som bufferminne og buffer.

tilgjengelig Mem: Mengden fysisk minne som er tilgjengelig for nye programmer.

De topp kommandoen viser følgende bytteinformasjon:

Total: Det totale tilgjengelige bytteminnet i systemet.

gratis: Mengden ledig bytte minne i systemet.

brukt: Mengden bytteminne som systemet bruker.

Du kan trykke m for å bytte mellom forskjellige oppsummeringsmodus for minnebruk.

For eksempel å trykke m en gang vil bytte til følgende modus. I denne modusen vil topp viser det fysiske minnet og bytt bruksinformasjon som percent_memory_used/total_memory_in_mebibytes .

Pressing m igjen vil endre fremdriftslinjestilen. Informasjonen vil være den samme som før.

De topp kommandoen viser også informasjon om minnebruk for hver av prosessene som kjører på datamaskinen din i sanntid. Den øverste kommandoen viser informasjon om minnebruk av prosesser i kibibytes -enheten som standard.

Som standard er topp kommandoen viser følgende informasjon om minnebruk:

RESPEKT: Dette er størrelsen på det virtuelle minnet til prosessen. Virtuelt minne er det totale fysiske og bytteminnet som prosessen bruker.

STORFEKJØTT: Dette er Resident Memory -størrelsen på prosessen. Residentminnet er mengden fysisk minne prosessen bruker.

SHR: Dette er den delte minnestørrelsen til prosessen. Dette er mengden minne som prosessen bruker som også deles med noen andre prosesser.

%MEM: Prosentandelen av det fysiske minnet prosessen bruker.

Du kan konfigurere topp kommando for å vise mer informasjon om minnebruk, for eksempel,

KODE: Dette er prosessens kodestørrelse. Det er mengden fysisk minne dedikert til den kjørbare koden til prosessen. Det er også kjent som Text Resident Set eller TRS.

DATA: Dette er prosessens data og stabelstørrelse. Det er mengden minne som er reservert av en prosess. Det er ikke sikkert det er kartlagt til fysisk minne ennå. Men det vil alltid dukke opp i det virtuelle minnet (VIRT) i prosessen. Det er også kjent som Data Resident Set eller DRS.

RSan: Dette er den residente anonyme minnestørrelsen til prosessen. Det er en delmengde av det fysiske minnet (RES) som representerer private sider som ennå ikke er kartlagt til en fil.

RSfd: Dette er størrelsen på Resident File-Backed Memory i prosessen. Det er en delmengde av det fysiske minnet (RES) som representerer delte sider og støtter programbilder, delte biblioteker, filtilordninger, etc.

RSsh: Dette er Resident Shared Memory Size for prosessen. Det er en delmengde av det fysiske minnet (RES) som representerer delte anonyme sider.

RSlk: Dette er Resident Locked Memory -størrelsen på prosessen. Det er mengden fysisk minne (RES) som ikke kan byttes ut. Det må forbli i fysisk minne.

BYTTE: Dette er byttet størrelse på prosessen. Det er mengden fysisk minne (RES) informasjon som flyttes til byttediskplass fra det fysiske minnet.

BRUKT: Dette er den totale mengden minne (fysisk + bytte) prosessen bruker.

BRUKT = RES + SWAP.

Vær oppmerksom på at det fysiske minnet (RES) som brukes av en prosess, er summeringen av Resident Anonym Memory Size (RSan), Resident File-Backed Memory Size (RSfd) og Resident Shared Memory Size (RSsh).

RES = RSan + RSfd + RSsh

For å aktivere disse minneinformasjonskolonnene, kjør topp og trykk på f .

Bruk piltastene til å navigere til de merkede kolonnene og trykk på for å veksle det. De aktiverte kolonnene vil ha en * merket til venstre.

Når du er ferdig, trykker du på hva for å gå tilbake til det øverste vinduet for prosessovervåking. Som du kan se, vises kolonnene for minnebruk SWAP, CODE, DATA, USED, RSan, RSfd, RSlk, RSsh.

Som standard er topp kommandoen viser informasjon om minnebruk i kibibytenheten. Hvis du vil se informasjon om minnebruk i en annen enhet, for eksempel mebibyte, gibibyte, tebibyte eller pebibyte, kan du gjøre det også.

For å veksle mellom forskjellige minneenheter (kibibyte, mebibyte, gibibyte, tebibyte eller pebibyte), løp øverst og trykk Og .

topp informasjon om minnebruk vises i megabyte.

topp informasjon om minnebruk vises i gibibytes.

topp informasjon om minnebruk vises i tebibytes.

topp informasjon om minnebruk vises i pebibytes.

Mange prosesser kjøres på ditt Linux -operativsystem. Den øverste kommandoen kan ikke vise dem alle samtidig. Du kan trykke og holde inne og piltastene for å navigere i listen over prosesser topp kommandoen vises.

Du kan også sortere utdataene for toppkommandoen etter en bestemt kolonne.

La oss si at du vil se hvilken prosess som bruker mest mulig bytteplass. For å gjøre det, løp topp og trykk på f .

Velg deretter SWAP -kolonnen med piltastene på tastaturet og trykk s .

Sorteringsfeltet til topp kommandoen bør endres til SWAP. trykk hva for å gå tilbake til vinduet for prosessovervåking.

Som du kan se, blir prosessene som bruker mest bytteplass først oppført.

Når du har konfigurert topp kommando, kan du trykke + i for å lagre konfigurasjonen til a toprc konfigurasjonsfil. På denne måten trenger du ikke å omkonfigurere topp hver gang du bruker den.

Kontrollere minnebruk ved hjelp av htop:

htop er en prosessviser i sanntid på Linux akkurat som topp . Men htop har tilleggsfunksjoner som topp gjør ikke. Den mest åpenbare nye funksjonen til htop er syntaksmarkering og bedre brukergrensesnitt. Du kan si htop er en utvidet topp .

Som topp , htop er ikke forhåndsinstallert på det meste av Linux -distribusjonen. Men den er tilgjengelig i det offisielle pakkelageret for nesten alle Linux -distribusjonene der ute. Så du kan enkelt installere det på ønsket Linux -distribusjon.

Å installere htop på Ubuntu/Debian, kjør følgende kommandoer:

$sudopassende oppdatering
$sudopassendeinstallere htop -og

MERK: På CentOS/RHEL, htop er tilgjengelig i EPEL -depotet. Før du installerer htop , må du ha et EPEL -depot ( epel-release pakke) installert på CentOS/RHEL -systemet.

Å installere htop på CentOS 7/RHEL 7, kjør følgende kommandoer:

$sudo yum installereepel-release-og
$sudo yum installere htop -og

Å installere htop på CentOS 8/RHEL 8, kjør følgende kommandoer:

$sudodnfinstallereepel-release-og
$sudodnfinstallere htop -og

En gang htop er installert, kan du kjøre den med følgende kommando:

$htop

Htop bør starte.

På toppen, htop viser fysisk minne og bytte brukssammendrag. Det viser også minnet og byttebruken i et fint stolpediagram.

Minnet og bytteinformasjonen er i formatet brukt / Total . htop vil automatisk bestemme enheten (kibibyte, mebibyte, gibibyte, tebibyte eller pebibyte) for best å beskrive minnet og bytte bruksinformasjon.

Minnelinjen og byttelinjen for bruk er representert med forskjellige farger. Fargene har betydninger.

For å vite hva hver farge representerer, løp htop og trykk på h å gå til hjelpevinduet til htop .

Som du kan se, representerer den grønne fargen det fysiske minnet som brukes av forskjellige programmer/prosesser, den blå fargen representerer det fysiske minnet som brukes som buffere, den gule fargen representerer det fysiske minnet som brukes som hurtigminne, og den røde fargen representerer det brukte bytt plass.

For å gå tilbake til hoveddelen htop vinduet, trykk hva .

Som topp , htop programmet viser også informasjon om minnebruk for hver av prosessene som kjører på ditt Linux -system. htop vil automatisk bestemme enheten (kibibyte, mebibyte, gibibyte, tebibyte eller pebibyte) for best å beskrive minnebruk for hver av prosessene.

Som standard er htop kommandoen viser følgende informasjon om minnebruk:

VIRT/M_SIZE: Dette er størrelsen på det virtuelle minnet til prosessen. Virtuelt minne er det totale fysiske og bytteminnet som prosessen bruker.

RES/M_RESIDENT: Dette er innbyggerens settstørrelse på prosessen. Residentminnet er mengden fysisk minne prosessen bruker. Det er lik tekst + data + stabel eller M_TRS + M_DRS.

SHR/M_SHARE: Dette er prosessens delte minnestørrelse. Dette er mengden minne prosessen bruker, som også deles med noen andre prosesser.

%MEM/PERCENT_MEM: Prosentandelen av det fysiske minnet prosessen bruker.

Du kan konfigurere htop kommando for å vise mer informasjon om minnebruk, for eksempel,

KODE / M_TRS: Dette er kodestørrelsen på prosessen. Det er mengden fysisk minne dedikert til den kjørbare koden til prosessen.

DATA/M_DRS: Dette er prosessens data og stabelstørrelse. Det er mengden minne som er reservert av en prosess. Det er ikke sikkert det er kartlagt til fysisk minne ennå. Men det vil alltid vises i det virtuelle minnet (VIRT/M_SIZE) i prosessen.

LIB/M_LRS: Dette er bibliotekets størrelse på prosessen. Det er mengden fysisk minne et bibliotekskode (brukt av prosessen/programmet) bruker.

SKITNE/M_DT: Dette er størrelsen på de skitne sidene i prosessen. Seksjonen/siden som er endret i bufferen kalles en skitten side.

For å aktivere disse minneinformasjonskolonnene, kjør htop og trykk på F2 .

Deretter navigerer du til Kolonner fra Oppsett delen, velg kolonnen du vil legge til nye kolonner fra Aktive kolonner delen, velg kolonnen du vil legge til fra Tilgjengelige kolonner og trykk for å legge til kolonnen.

Kolonnen bør legges til Aktive kolonner seksjon.

På samme måte kan du legge til de andre minnekolonnene (kolonner som starter med M_ ). Når du er ferdig, trykker du på å gå tilbake til hoveddelen htop vindu.

Som du kan se, blir de ekstra kolonnene for informasjon om minnebruk lagt til.

Du kan se prosessene i tre utsikt . I dette synet er prosessene organisert av forholdet mellom foreldre og barn.

Trykk på for å bytte til trevisning t . Som du kan se, er prosessene organisert veldig pent av forholdet mellom foreldre og barn. I denne modusen kan du se hvilke barneprosesser som er forårsaket av en overordnet prosess og minnebruk.

Trykk på for å gå ut av trevisningen t en gang til. Du bør være tilbake til standardvisningen.

Du kan også sortere prosessene etter forskjellige kolonner for minnebruk. Som standard er prosessene sortert etter CPU -bruk (CPU%).

Trykk på for å sortere prosessene etter en bestemt kolonne F6 .

Velg deretter en kolonne du vil sortere prosessene etter fra Sorter etter og trykk .

Jeg vil sortere prosessene etter M_RESIDENT / STORFEKJØTT kolonne for demonstrasjon.

Som du kan se, er prosessene pent sortert etter bruk av husets minne.

De htop programmet viser mange prosesser. Alle disse prosessene kan ikke vises i den begrensede vindus-/skjermstørrelsen. Men du kan trykke på og piltastene for å navigere i prosesslisten veldig enkelt.

Kontrollere minnebruk ved bruk av smem:

Minnebrukskontrollprogrammer som topp , htop, etc. viser hele det delte minnet for hver av prosessene. Hva det betyr er, selv om minnet deles av noen prosesser, teller det dette brukte minnet for hver av prosessene som deler det minnet. Så du får feil informasjon om minnebruk.

I matematikk ser det slik ut,

fysisk minnebruk av prosess = delt minnebruk + ikke -delt minnebruk

jeg kan prøver å unngå dette og rapportere minnebruk riktig. Det deler det delte minnet med antall prosesser som bruker det delte minnet og legger resultatet til hver av prosessene som deler det minnet. Så, minnebruk øker pent. Den totale minnebruk vil være summeringen av minnebruk av alle prosessene. Dette vil ikke skje i htop eller topp .

I matematikk ser det slik ut,

fysisk minnebruk av prosess =(delt minnebruk/antall prosesser som deler minne)
+ usikkert minne

jeg kan er ikke forhåndsinstallert som standard i de fleste Linux -distribusjonene. Men den er tilgjengelig i det offisielle pakkelageret for det meste av Linux -distribusjonen.

På Ubuntu/Debian kan du installere jeg kan med følgende kommandoer:

$sudopassende oppdatering
$sudopassendeinstallerejeg kan-og

På CentOS/RHEL 7, jeg kan er tilgjengelig i EPEL -pakkelageret. Så du må legge til EPEL -depotet på CentOS/RHEL 7 for å installere jeg kan .

På CentOS/RHEL 7 kan du installere jeg kan med følgende kommandoer:

$sudo yum installereepel-release-og
$sudo yum installerejeg kan-og

Dessverre, jeg kan er ikke tilgjengelig i det offisielle pakkelageret eller EPEL -depotet til CentOS/RHEL 8. Du bør kunne kompilere jeg kan fra kilden eller last ned jeg kan binær fra den offisielle nettsiden til smem .

Hvis du vil kompilere jeg kan fra kilden, så kan du laste ned smem -kildekoden fra offisiell smem kildeside .

Hvis du vil laste ned en jeg kan forhåndskompilert binærfil, så kan du laste den ned fra smem offisielle nedlastingsside .

jeg kan kan vise minnebruk for hver bruker.

For å vite hvor mye minne en Linux -bruker bruker, kjør jeg kan følgende:

$sudojeg kan-du

Her, den -til alternativet brukes for å vise enheten det jeg kan bruker for å vise informasjon om minnebruk.

jeg kan bruker følgende enheter:

K - Kibibyte

M - Mebibyte

G - Gibibyte

T - Tebibyte

P - Pebibyte

De -til alternativet brukes til å skalere utgangskolonnene avhengig av vindustørrelsen på terminalen. På denne måten kan du fikse utdataene fra jeg kan veldig enkelt hvis noen viktig tekst blir beskåret.

De -u alternativet brukes til å vise informasjon om brukerens minne.

Som du kan se, jeg kan rapporterte informasjon om minne og bytte for hver bruker av min Ubuntu -maskin.

jeg kan viser følgende informasjon om brukerminne:

Bruker: Linux -brukernavnet minnebruk er rapportert for.

Telle: Antall prosesser brukeren kjører for øyeblikket.

Bytte: Mengden bytte diskplass brukeren bruker.

USS: Dette er den totale unike settstørrelsen til brukerprosessene. Det er den totale mengden fysisk minne prosessene som eies av brukeren bruker som ikke deles med andre prosesser.

PSS: Dette er den totale proporsjonale settstørrelsen til brukerprosessene. Det er den totale mengden fysisk minne og det jevnt delte delte fysiske minnet prosessene som eies av brukeren bruker.

RSS: Dette er den totale innbyggerens settstørrelse for brukerprosessene. Det er den totale mengden fysisk minne og det delte fysiske minnet prosessene som eies av brukeren bruker. Informasjon om bruk av RSS -minne om jeg kan er den samme som RSS -minnebrukinformasjonen til topp eller htop .

Som standard er jeg kan viser informasjon om minnebruk i stigende rekkefølge (lavest til høyest). Hvis du vil se informasjon om minnebruk i synkende rekkefølge (høyest til lavest), bruker du -r valg av jeg kan følgende:

$sudojeg kan-kaur

Som du kan se, jeg kan viste den samme informasjonen om brukerens minne. Men i synkende rekkefølge.

Hvis du vil se den totale informasjonen om brukerminne, kan du kjøre jeg kan med -t alternativet som følger:

$sudojeg kangjennom

Som du kan se, jeg kan legger til informasjonen for alle radene for hver kolonne og viser den totale minnebrukinformasjonen for hver av kolonnene på slutten.

Som standard er jeg kan viser informasjon om minnebruk i kibibytes -enheten. Hvis du bruker -til alternativ, jeg kan vil automatisk velge den beste enheten for å vise informasjon om minnebruk.

Hvis du vil vise informasjon om minnebruk som en prosentandel av det totale tilgjengelige fysiske minnet eller bytte diskplass, kan du bruke -s alternativet i stedet for -til alternativet som følger:

$sudojeg kan-pau

Som du kan se, jeg kan viser informasjon om brukerens minnebruk i prosent av det totale fysiske minnet og bytt diskplass.

Hvis du vil se systemomfattende informasjon om minnebruk eller sammendrag av systemminnebruk, kan du kjøre jeg kan med -i alternativet som følger:

$sudojeg kan-kav

Som du kan se, jeg kan viser systemomfattende informasjon om minnebruk.

jeg kan viser følgende systemomfattende informasjon om minnebruk:

Område: Den delen av systemet minnet brukes til.

Brukt: Mengden fysisk minne som brukes for dette området.

Cache: Mengden fysisk minne som brukes som hurtigminne for dette området.

Noncache: Mengden fysisk minne som brukes for dette området som ikke er bufret.

På samme måte som før kan du bruke -t muligheten til å se den totale systemomfattende informasjonen om minnebruk.

$sudojeg kan-forsiktig

Du kan også se minnebruk av prosessene som kjører på Linux -systemet ditt med jeg kan .

For å gjøre det, løp jeg kan følgende:

$sudojeg kan-kar

Som du kan se, jeg kan viser informasjon om minnebruk for hver av prosessene som kjøres på Ubuntu -maskinen min.

jeg kan viser følgende prosessmessige informasjon om minnebruk:

PID: Prosess -ID for prosessen.

Bruker: Brukernavnet til brukeren som startet prosessen eller eier prosessen.

Kommando: Kommandoen som brukes til å starte prosessen.

Bytte: Mengden bytte diskplass prosessen bruker.

USS: Dette er den unike settstørrelsen til prosessen. Det er mengden fysisk minne prosessen bruker som ikke deles med andre prosesser.

PSS: Dette er den proporsjonale settstørrelsen til prosessen. Det er mengden fysisk minne og det jevnt delte delte fysiske minnet prosessen bruker.

RSS: Dette er innbyggerens settstørrelse for prosessen. Det er mengden fysisk minne og det delte fysiske minnet prosessen bruker.

Du kan også se informasjon om minnebruk for hver av bibliotekfilene prosessene bruker med jeg kan .

For å se informasjon om minnebruk for hver av bibliotekfilene som er lastet inn i det fysiske minnet på datamaskinen din, kjør jeg kan med -m alternativet som følger:

$sudojeg kan-kamr

jeg kan vil vise informasjon om minnebruk for hver av bibliotekfilene som er lastet inn i det fysiske minnet på datamaskinen din, som du kan se på skjermbildet nedenfor.

jeg kan viser følgende bibliotekmessige informasjon om minnebruk:

Kart: Biblioteksfilen som er tilordnet datamaskinens fysiske minne.

PID -er: Det totale antallet prosesser som bruker denne biblioteksfilen.

PSS: Dette er den totale proporsjonale settstørrelsen til prosessene som bruker biblioteksfilen. Det er mengden fysisk minne og det jevnt delte delte fysiske minnet prosessene (ved hjelp av denne biblioteksfilen) bruker.

AVGPSS: Dette er gjennomsnittlig proporsjonal settstørrelse for prosessene som bruker denne biblioteksfilen. Det er det gjennomsnittlige fysiske minnet som deles mellom hver av prosessene (ved hjelp av denne biblioteksfilen). Du kan også si AVGPSS = PSS/PID (om).

Kontrollere minnebruk ved hjelp av vmstat:

vmstat er et annet program for å kontrollere minnebruk i Linux. Den viser nesten den samme informasjonen som i /proc/meminfo fil.

Kjør for å se informasjon om minnebruk vmstat følgende:

$vmstat -s

vmstat skal vise systemomfattende informasjon om minnebruk i kibibytes-enheten som du kan se på skjermbildet nedenfor.

vmstat viser følgende informasjon om minnebruk:

totalt minne: Det totale tilgjengelige fysiske minnet på datamaskinen din.

brukt minne: Totalt brukt fysisk minne på datamaskinen din.

ledig minne: Det totale frie fysiske minnet på datamaskinen din.

total bytte: Total tilgjengelig byttediskplass.

brukt bytte: Mengden byttet diskplass som brukes.

gratis bytte: Mengden bytt diskplass er fortsatt ledig.

bytt cache: Mengden bytte diskplass som brukes som cache.

bufferminne: Mengden fysisk minne som brukes som en buffer for å holde dataene midlertidig mens de flyttes fra et sted til et annet.

aktivt minne: Mengden fysisk minne som brukes, men kan ikke gjenvinnes hvis det kreves av andre programmer.

inaktivt minne: Mengden fysisk minne som brukes, men lett kan gjenvinnes av andre programmer om nødvendig.

Kontrollere minnebruk ved bruk av GNOME System Monitor:

GNOME System Monitor er en grafisk programvare for overvåking av minnebruk, kjørende prosesser og diskbruk. Den er forhåndsinstallert på GNOME 3, Ubuntu MATE, Cinnamon og Budgie desktop -miljøer.

Du kan se minne og bytte bruksinformasjon i Ressurser kategorien GNOME System Monitor som du kan se på skjermbildet nedenfor.

Den viser et fint sanntidsminne og bytter bruksgraf de siste 60 sekundene. Du kan ha en ide om hvor mye minne og byttebruk som varierte overtid fra denne grafen.

Den viser det totale tilgjengelige fysiske minnet, mengden fysisk minne som brukes, prosentandelen fysisk minne som brukes og mengden fysisk minne som brukes som hurtigminne. Det vil også vise deg et fint kakediagram for fysisk bruk.

Det vil også vise den totale tilgjengelige byttediskplassen, mengden bytteplass som er brukt, prosentandelen av mengden bytteplass som er brukt, og et fint byttekakediagram.

I Prosesser kategorien GNOME System Monitor , kan du se informasjon om minnebruk for hver av prosessene som kjøres på datamaskinen din.

Hvis du vil se mer informasjon om minnebruk for prosessene, høyreklikker du (RMB) på tittellinjen og sjekker Virtuell hukommelse , Resident Memory , og Delt minne som vist på skjermbildet nedenfor.

Den virtuelle (VIRT), Resident (RES) og Shared (RSS) minnebrukinformasjonen for prosessene bør vises som du kan se på skjermbildet nedenfor.

Denne informasjonen om minnebruk er den samme som i topp eller htop .

Som standard vil GNOME System Monitor bare vise prosessene som eies av påloggingsbrukeren din. Hvis du vil se en liste over alle prosessene som eies av hver bruker av systemet ditt, klikker du på hamburgermenyen (

) og velg Alle prosesser som vist på skjermbildet nedenfor.

Hvis du vil se prosessene i trevisning (forhold mellom foreldre og barn), klikker du på hamburgermenyen (

) og sjekk Vis avhengigheter som vist på skjermbildet nedenfor.

I trevisningen kan du se hvilken prosess (forelder) som startet hvilke prosesser (barn) i den rekkefølgen de ble startet. Du kan også se hvor mye minne hver av de overordnede prosessene bruker og hvor mye minne hver av de underordnede prosessene bruker.

Kontrollere minnebruk ved hjelp av KSysGuard:

KSysGuard er en grafisk programvare for overvåking av minnebruk og kjørende prosesser. Den er forhåndsinstallert på KDE Plasma -skrivebordsmiljøet.

Du kan se minne og bytte bruksinformasjon i Systembelastning kategorien KSysGuard som du kan se på skjermbildet nedenfor.

I Prosessbord kategorien KSysGuard , kan du se informasjon om minnebruk for hver av prosessene som kjøres på datamaskinen din.

Som standard viser KSysGuard det fysiske minnet og informasjon om delt bruk for hver av prosessene som kjører.

Du kan høyreklikke (RMB) på tittellinjen og klikke på Vis kolonne 'Virtuell størrelse' og Vis kolonne 'Totalt minne' for å se mer informasjon om minnebruk.

Som du kan se, viser KSysGuard nå den virtuelle minnestørrelsen (VIRT) og den totale fysiske minnebruk for hver av prosessene som kjører også.

Som standard viser KSysGuard alle kjørende prosesser som eies av hver bruker i Prosessbord kategorien. Du kan endre hvilke prosesser du vil se fra rullegardinmenyen øverst til høyre i KSysGuard som vist på skjermbildet nedenfor.

For trevisning, velg Alle prosesser, tre fra rullegardinmenyen.

I trevisningen kan du se hvilken prosess (forelder) som startet hvilke prosesser (barn) i den rekkefølgen de ble startet. Du kan også se hvor mye minne hver av de overordnede prosessene bruker og hvor mye minne hver av de underordnede prosessene bruker.

Hvis du bare vil se prosessene på systemnivå, velger du Systemprosesser fra rullegardinmenyen. Disse prosessene eies vanligvis av rot bruker.

Hvis du vil se prosesser på brukernivå, velger du Brukerprosesser fra rullegardinmenyen. Disse prosessene eies vanligvis av vanlige brukere (ikke-root).

Hvis du bare vil se prosessene som eies av påloggingsbrukeren, velger du Egne prosesser .

Hvis du vil se bare programmene som kjører på datamaskinen din, ikke prosesser, velg deretter Bare programmer fra rullegardinmenyen. Bare applikasjonsprogrammene som kjører på datamaskinen din vil bli oppført.

Konklusjon:

I denne artikkelen har jeg dekket de vanligste måtene å kontrollere minnebruk på Linux. Jeg har vist hvordan du kontrollerer minnebruk av Linux-systemer både fra kommandolinjen og fra grafiske skrivebordsmiljøer. Jeg har forklart hvordan du bruker programmer som gratis , topp , htop , jeg kan , vmstat , GNOME System Monitor , og KSysGuard for å se etter minnebruk av Linux. Jeg har også diskutert utdataformatet til disse kommandoene og programmene. Denne artikkelen skal komme i gang med å kontrollere Linux-minnebruk og gi deg en grundig kunnskap om verktøyene for kontroll av minnebruk i Linux.