Sådan kontrolleres hukommelsesudnyttelsen i Linuk
hvordan kontrollerer jeg hukommelsesudnyttelsen i Linuk ved hjælp af kommandolinje-og GUI-indstillinger?
vi har fysisk RAM såsom 16GB og bytte hukommelse. Skift hukommelse er intet andet end diskplads, der gør det muligt for din computer at køre flere applikationer samtidigt, end der passer ind i systemhukommelsen (RAM). Denne side forklarer forskellige kommandoer for at kontrollere hukommelsesforbrug og-udnyttelse i linea ved hjælp af kommandolinjeværktøjer og GUI-værktøjer.
kommandoer til at kontrollere hukommelsesudnyttelse i Linuk
dit Linuksystem skal køre på et optimalt niveau. Hukommelse spiller en afgørende rolle i et system. En udvikler eller erfaren sysadmin skal kende den samlede mængde gratis og brugt fysisk, inklusive byttehukommelse på serveren. Det ville være bedst, hvis du også holdt øje med buffere og cacher, der blev brugt af kernen.
filen /proc/meminfo
filen /proc/meminfo rapporterer statistik om hukommelsesforbrug. Brug kommandoen cat command / less eller kommandoen grep command / egrep som følger:cat /proc/meminfo
more /proc/meminfo
hver linje i/proc / meminfo-filen består af et parameternavn efterfulgt af et kolon, parameterværdien og en optionsenhed. For eksempel “kB”.
forståelse hukommelse udnyttelse parametre
Parameter | beskrivelse |
---|---|
MemTotal | samlet brugbar RAM (dvs., fysisk RAM minus et par reserverede bits og kernen binær kode). |
MemFree | summen af Lavfri+Højfri. |
MemAvailable | (siden Linuks 3.14) et skøn over, hvor meget hukommelse der er tilgængelig til at starte nye applikationer uden at bytte. |
buffere | relativt midlertidig opbevaring til rå diskblokke, der ikke skulle blive enormt store (20 MB eller deromkring). |
cachelagret | in-memory cache for filer læst fra disken (siden cache). Inkluderer ikke byttet. |
hukommelse, der engang blev byttet ud, byttes tilbage, men er stadig også i byttefilen. | |
Aktiv | hukommelse, der er blevet brugt for nylig og normalt ikke genvundet, medmindre det er absolut nødvendigt. |
inaktiv | hukommelse, der er blevet brugt mindre for nylig. Det er mere berettiget til at blive inddrevet til andre formål. |
HighTotal | samlet mængde highmem. Highmem er al hukommelse over ~860 MB fysisk hukommelse. Highmem-områder er til brug af brugerrumsprogrammer eller til sidecachen. Kernen skal bruge tricks til at få adgang til denne hukommelse, hvilket gør det langsommere at få adgang end lavmem. |
HighFree | mængde gratis highmem. |
Lavfri | mængde gratis lavmem. |
bytteplads | samlet mængde bytteplads til rådighed. |
Byttefri | mængde bytteplads, der i øjeblikket er ubrugt. |
Dirty | hukommelse, som venter på at blive skrevet tilbage til disken. |
skrivning | hukommelse, der aktivt skrives tilbage til disken. |
AnonPages | ikke-fil bakkes sider kortlagt i bruger-plads side tabeller. |
kortlagt | filer, der er kortlagt i hukommelsen (med mmap(2)), såsom biblioteker. |
Shmem | mængde hukommelse, der forbruges i tmpfs(5) filsystemer. |
KReclaimable | kerneallokeringer, som kernen vil forsøge at genvinde under hukommelsestryk. Inkluderer SReclaimable (nedenfor), og andre direkte tildelinger med en shrinker. |
Slab | in-kernel datastrukturer cache. (Se slabinfo (5).) |
SReclaimable | del af Slab, der kan genvindes, såsom caches. |
SUnreclaim | en del af pladen, der ikke kan genvindes ved hukommelsestryk. |
KernelStack | mængde hukommelse allokeret til kernel stakke. |
PageTables | mængde hukommelse dedikeret til det laveste niveau af sidetabeller. |
Nfs_ustable | NFS-sider sendt til serveren, men endnu ikke forpligtet til stabil opbevaring. |
Bounce | hukommelse bruges til blok enhed “bounce buffere”. |
Skrivebacktmp | hukommelse, der bruges af FUSE til midlertidige skrivebackbuffere. |
CommitLimit | dette er den samlede mængde hukommelse, der i øjeblikket er tilgængelig, der skal tildeles på systemet, udtrykt i kilobyte. Denne grænse overholdes kun, hvis streng overcommit-regnskab er aktiveret (tilstand 2 i /proc/sys/vm/overcommit_memory). Grænsen beregnes efter formlen beskrevet under /proc/sys/vm/overcommit_memory. |
Committed_AS | den mængde hukommelse, der i øjeblikket er tildelt på systemet. Den engagerede hukommelse er en sum af al den hukommelse, der er tildelt ved processer, selvom den endnu ikke er blevet “brugt” af dem. En proces, der tildeler 1 GB hukommelse(ved hjælp af malloc (3) eller lignende), men kun berører 300 MB af denne hukommelse, vises som kun at bruge 300 MB hukommelse, selvom den har adressepladsen tildelt til hele 1 GB. Denne 1GB er hukommelse, som er blevet” forpligtet ” til af VM og kan bruges til enhver tid af tildelingsapplikationen. Med streng overcommit aktiveret på systemet (mode 2 i /proc/sys/vm/overcommit_memory), vil tildelinger, der overstiger CommitLimit, ikke være tilladt. Dette er nyttigt, hvis man skal garantere, at processer ikke mislykkes på grund af manglende hukommelse, når denne hukommelse er blevet tildelt. |
VmallocTotal | Samlet størrelse af vmalloc hukommelsesområde. |
Vmallocused | mængde af vmalloc område, der anvendes. Siden Linuk 4.4 beregnes dette felt ikke længere og er hårdt kodet som 0. Se/proc / vmallocinfo. |
Vmallocchunk | største sammenhængende blok af vmalloc område, som er gratis. Siden Linuks 4.4 Er dette felt ikke længere beregnet og er hårdt kodet som 0. Se/proc / vmallocinfo. |
Lasyfree | viser mængden af hukommelse markeret med madvise(2) MADV_FREE. |
AnonHugePages | ikke-fil bakkes store sider kortlagt i bruger-plads sidetabeller. |
ShmemHugePages | hukommelse brugt af delt hukommelse (shmem) og tmpfs (5) tildelt med store sider |
ShmemPmdMapped | delt hukommelse kortlagt i brugerrum med store sider. |
CmaTotal | samlede CMA (sammenhængende Memory Allocator) sider. |
CmaFree | gratis CMA (sammenhængende Memory Allocator) sider. |
HugePages_Total | størrelsen af puljen af store sider. |
HugePages_Free | antallet af store sider i puljen, der endnu ikke er tildelt. |
HugePages_Rsvd | dette er antallet af store sider, som der er forpligtet til at allokere fra puljen, men der er endnu ikke foretaget nogen tildeling. Disse reserverede enorme sider garanterer, at en applikation vil være i stand til at allokere en enorm side fra puljen af enorme sider på fejltid. |
HugePages_Surap | dette er antallet af store sider i puljen over værdien i /proc/sys/vm/nr_hugepages. Det maksimale antal overskydende enorme sider styres af / proc/sys/vm / nr_overcommit_hugepages. |
Hugepagesstørrelse | størrelsen af store sider. |
DirectMap4k | antal bytes RAM lineært kortlagt af kerne i 4KB sider. |
DirectMap4M | antal bytes RAM lineært kortlagt af kerne i 4MB sider. |
DirectMap2M | antal bytes RAM lineært kortlagt af kerne i 2MB sider. |
DirectMap1G | H86 med CONFIG_H86_64 og CONFIG_H86_DIRECT_GBPAGES aktiveret. |
vi kan filtrere filen ud ved hjælp af grep-kommandoen eller egrep-kommandoen som følger:grep -E --color 'Mem|Cache|Swap' /proc/meminfo
brug af gratis kommando til at kontrollere brugt og fri hukommelsesudnyttelse
output fra /proc/meminfo er kraftfuld, men ikke brugervenlig. Derfor skal vi bruge den gratis kommando. Kommandoen free viser mængden af ledig og brugt hukommelse i systemet. For eksempel:free
vil du se menneskeligt læsbart output? Prøv:free -h
free --human
prøve udgange:
total used free shared buff/cache availableMem: 94Gi 15Gi 672Mi 428Mi 78Gi 77GiSwap: 0B 0B 0B
kolonne | beskrivelse |
---|---|
total | samlet installeret hukommelse |
brugt | brugt hukommelse (beregnet som total – free-buffere-cache) |
gratis | ubrugt hukommelse (MemFree og Byttefri i / proc / meminfo) |
delt | hukommelse bruges mest af tmpfs (Shmem in / proc / meminfo) |
buffere | hukommelse brugt af kernel buffere (buffere i / proc / meminfo) |
cache | hukommelse brugt af siden cache og plader (Cached og SReclaimable i / proc / meminfo) |
buff / cache | summen af buffere og cache |
tilgængelig | estimering af, hvor meget hukommelse der er tilgængelig til start af nye applikationer uden at bytte. |
vi kan gentage udskrivning gratis kommando output hver n sekunder. Udskriv for eksempel output hvert 5. sekund og afslut efter ti sådanne gentagelser (tæller) på skærmen:free -s 5 -c 10
vi kan styre output af fri kommando som følger:free
free -k
free -g
free -m
mulighed | Vis output i |
---|---|
-b, –bytes | |
–kilo | kilobyte |
–mega | megabyte |
–giga | gigabyte |
–tera | terabyte |
–peta | petabyte |
-k, –kibi | kibibytes |
-m, –mebi | mebibytes |
-g, — gibi | gibibytes |
–tebi | tebibytes |
–pebi | pebibytes |
kommandoen vmstat
kommandoen vmstat er kraftig, og den viser oplysninger om f. eks:
- processer
- hukommelse
- Personsøgning
- Bloker IO
- fælder
- diske
- CPU-aktivitet
Åbn terminalen og skriv følgende kommando:vmstat
Prøvesession fra mit Ubuntu-skrivebord:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 11434840 2567516 10238916 0 0 26 75 142 55 13 5 82 0 0
Pass-V for at se bred output på skærmen:vmstat -w
procs -----------------------memory---------------------- ---swap-- -----io---- -system-- --------cpu-------- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 11405404 2567988 10324528 0 0 26 75 142 58 13 5 82 0 0
felt | beskrivelse |
---|---|
den anvendte mængde virtuel hukommelse. | |
gratis | mængden af tomgangshukommelse. |
buff | mængden af hukommelse, der bruges som buffere. |
cache | mængden af hukommelse, der bruges som cache. |
inact | mængden af inaktiv hukommelse. (- en mulighed) |
aktiv | mængden af aktiv hukommelse. (- en mulighed) |
si | mængde hukommelse byttet ind fra disk (/s). |
så | mængde hukommelse byttet til disk (/s). |
kommandoen top og htop
kommandoerne top og htop giver en dynamisk realtidsvisning af et kørende system. Dette omfatter oplysninger om:
- ingen annoncer og sporing
- dybdegående vejledninger til udviklere og sysadmins på Opensourceflare Porter
- Deltag i min Patreon for at støtte uafhængige indholdsskabere og begynde at læse de nyeste guider:
- Sådan konfigureres Redis sentinel cluster på Ubuntu eller Debian-Linuk
- Sådan konfigureres SSH – nøgler med YubiKey som tofaktorautentificering (U2F/FIDO2)
- Sådan konfigureres Mariadb Galera cluster på Ubuntu eller Debian-Linuk
- en podman-tutorial til begyndere-del I (Kør uden Docker og i daemonless mode)
- Sådan beskytter du mod useriøse USB-enheder ved hjælp af Usbguard
- hvis dit domæne ikke sender e-mail, skal du indstille disse DNS-indstillinger for at undgå spoofing og phishing
- udstyr og CPU-udnyttelse
- Linuks oppetid
- hukommelse og bytte udnyttelse
- systemprocesser og mere
bemærk, at htop ikke er installeret som standard. Men du kan nemt installere det på CentOS, Debian, Ubuntu og andre operativsystemer.
Kør følgende kommando:top
htop
rapporter hukommelsesforbrug med delt hukommelse opdelt proportionalt
smem-værktøjet rapporterer:
- fysisk hukommelsesforbrug under hensyntagen til delte hukommelsessider. Ikke-delt hukommelse rapporteres som USS (unik Sætstørrelse).
- delt hukommelse fordeles jævnt mellem de processer, der deler denne hukommelse.
- den ikke-delte hukommelse (USS) plus en process andel af delt hukommelse rapporteres som PSS (Proportional Sæt størrelse).
- USS og PSS omfatter kun fysisk hukommelsesforbrug. De omfatter ikke hukommelse, der er blevet byttet ud til disk.
- hukommelse kan rapporteres af en proces, af en bruger, ved kortlægning eller hele systemet. Både teksttilstand og grafisk output er tilgængelige.
man kan installere smem ved hjælp af kommandoen apt/apt-get på en Debian/Ubuntu:sudo apt install smem
kør det som følger:smem
# show whole system #
smem -w
# show meme usage about specifc user #
smem -u vivek
smem -u nginx
# get help #
man smem
smem --help
User Count Swap USS PSS RSS vivek 139 0 7593240 8210344 13017360
ved hjælp af GUI
System Monitor er en GUI-app, der viser dig, hvilke programmer der kører, og hvor meget processortid, hukommelse og diskplads der bruges. Vi kan åbne systemmonitoren fra aktivitetsoversigten. Tryk på Super-tasten på dit tastatur. Du kan se dine vinduer og applikationer i oversigten. Du kan også bare begynde at skrive for at søge i dine applikationer, f.eks. Fanen Ressourcer fortæller dig, hvor meget af din computers hukommelse (RAM) der bruges. For at kontrollere, hvilke processer der bruger mest hukommelse: Klik på fanen Processer. Klik på kolonneoverskriften hukommelse for at sortere processerne i henhold til hukommelsesbrug.
se dokumentation for mere info.
opsummering
du lærte, hvordan du finder RAM-hukommelse (RAM) – udnyttelse ved hjælp af GUI-og CLI-værktøjer.
RSS feed til ugentlig e-mail nyhedsbrev ➔
Kategori | liste over kommandoer |
---|---|
Hent ledere | vGet |
dokumentation | hjælp * mandb * man * pinfo |
diskpladsanalysatorer | df * DUF * ncdu * pydf |
filhåndtering | kat * cp * mindre * mkdir * mere * træ |
Brandvæg | Alperne • CentOS 8 • openSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 * Ubuntu 20.04 |
pc-apps | Skype * Spotify * VLC 3 |
moderne forsyningsselskaber | bat |
Netværk Utilities | NetHogs * dig * host * ip * nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
pakkehåndtering | apk * apt |
processer Ledelse | bg * chroot * cron * fornægte * fg * blikke * gtop * iotop * job * killall • dræbe * pidof * pstree • PV * tid * vtop |
søger | ag • grep • hvor er • hvilken |
Shell builtins | compgen * echo * printf |
tekstbehandling | klip • rev |
Brugerinformation | grupper * id * lastcomm • sidste * lid / libuser-lid * logname * medlemmer * brugere * Hvem * m |
VPN | Alpine • CentOS 8 • Debian 10 • Ubuntu 20.04 |