17 joulukuun, 2021

Miten tarkistaa muistin käyttö Linuxissa

Katso kaikki GNU/Linuxiin liittyvät FAQ

Miten tarkistan muistin käytön Linuxissa komentorivi-ja KÄYTTÖLIITTYMÄASETUKSILLA?
meillä on fyysinen RAM kuten 16GB ja swap-muisti. Swap-muisti ei ole muuta kuin levytilaa, jonka avulla Linux-tietokone voi ajaa useampia sovelluksia samanaikaisesti kuin mahtuu järjestelmämuistiin (RAM). Tämä sivu selittää erilaisia komentoja muistin käytön ja käytön tarkistamiseksi Linuxissa komentorivillä ja KÄYTTÖLIITTYMÄTYÖKALUILLA.

mainos

komennot tarkistaa muistin käyttö Linuxissa

Linux-järjestelmän on toimittava optimaalisella tasolla. Muistilla on tärkeä rooli Linux-järjestelmässä. Kehittäjän tai kokeneen sysadmin on tiedettävä vapaan ja käytetyn fyysisen kokonaismäärän, mukaan lukien swap-muisti palvelimessa. Parasta olisi, jos pitäisit silmällä myös ytimen käyttämiä puskureita ja kätköjä.

/proc /meminfo-tiedosto

/proc / meminfo-tiedosto kertoo tilastoja muistin käytöstä Linuxissa. Käytä cat command / less-komentoa tai grep command / egrep-komentoa seuraavasti Linux-ruudussasi:
cat /proc/meminfo
more /proc/meminfo

kuinka tarkistaa muistin käyttö Linuxissa
jokainen /proc/meminfo-tiedoston rivi koostuu parametrinimestä, jota seuraa kaksoispiste, parametrin arvo ja option mittayksikkö. Esimerkiksi ”kB”.

muistin käyttöparametrien ymmärtäminen

kentät kuvaustaulukko
parametri kuvaus
MemTotal yhteensä käyttökelpoinen RAM (ts., fyysinen RAM miinus muutama varattu bittiä ja ytimen binäärikoodi).
MemFree lowfree+HighFree summa.
mem käytettävissä (Linuxista lähtien 3.14) arvio siitä, kuinka paljon muistia on käytettävissä uusien sovellusten käynnistämiseen vaihtamatta.
Puskurit suhteellisen tilapäinen tallennustila raakalevylohkoille, joiden ei pitäisi olla valtavan suuria (20MB tai niin).
välimuistissa muistissa oleva välimuisti levyltä luettaville tiedostoille (sivun välimuisti). Ei sisällä SwapCached.
SwapCached muisti, joka kerran vaihdettiin pois, vaihdetaan takaisin, mutta on edelleen myös swap-tiedostossa.
Aktiivinen muisti, jota on käytetty viime aikoina ja jota ei yleensä palauteta, ellei se ole ehdottoman välttämätöntä.
passiivinen muisti, jota on käytetty harvemmin. Se on oikeutetumpaa hakea takaisin muihin tarkoituksiin.
Korkea kokonaismäärä ylämaan kokonaismäärä. Highmem on kaikki muisti yli ~860mb fyysistä muistia. Highmem-alueet on tarkoitettu käyttäjäavaruusohjelmien käyttöön tai Sivun välimuistiin. Ytimen täytyy käyttää temppuja päästäkseen tähän muistiin, jolloin se on hitaampi kuin lowmem.
HighFree määrä vapaata highmem.
LowFree vapaan lowmem määrä.
SwapTotal the Total amount of swap space available.
SwapFree käyttämättömän swap-tilan määrä.
Likainen muisti, joka odottaa kirjoitusta takaisin levylle.
Wrapeback muisti, jota kirjoitetaan aktiivisesti takaisin levylle.
AnonPages Non-file backed pages mapped into user-space page tables.
yhdistetyt tiedostot, jotka on yhdistetty muistiin (mmap(2): lla), kuten kirjastot.
Shmem tmpfs(5) – tiedostojärjestelmissä kulutetun muistin määrä.
KReclaimable Kernel allocations that the kernel will enterprise to recall in memory pressure. Sisältää SReclaimable (alla), ja muut suorat allokaatiot kanssa kutistin.
laatta ytimen tietorakenteiden välimuisti. Slabinfo (5).)
SReclaimable osa laatasta, joka voidaan palauttaa, kuten kätköt.
SUnreclaim osa laatasta, jota ei voi palauttaa muistipaineella.
KernelStack ytimen pinoihin varatun muistin määrä.
PageTables sivun taulukoiden alimmalle tasolle omistetun muistin määrä.
NFS_Unstable NFS-sivut lähetetty palvelimelle,mutta ei vielä vakaaseen tallennustilaan.
Bounce muisti, jota käytetään lohkolaitteen ”bounce buffereissa”.
WritebackTmp muisti, jota FUSE käyttää väliaikaisiin writebackpuskureihin.
Committlimit tämä on tällä hetkellä käytettävissä olevan muistin kokonaismäärä, joka jaetaan järjestelmässä kilotavuina. Tätä rajoitusta noudatetaan vain, jos tiukka ylikompmitin kirjanpito on käytössä (mode 2 in /proc/sys/vm/overcommit_memory). Raja lasketaan kohdassa /proc/sys/vm/overcommit_memory kuvatun kaavan mukaan.
Committed_AS järjestelmään tällä hetkellä varatun muistin määrä. Sitoutunut muisti on prosessien osoittaman muistin summa, vaikka ne eivät olisi vielä ”käyttäneet” sitä. Prosessi, joka jakaa 1GB muistia(käyttäen malloc (3) tai vastaava), mutta koskettaa vain 300MB että muisti näkyy käyttävän vain 300MB muistia, vaikka se on osoiteavaruus varattu koko 1GB. Tämä 1GB on muistia, johon VM on ”sitoutunut” ja jota jakosovellus voi käyttää milloin tahansa. Koska tiukka ylikommitus on käytössä järjestelmässä (mode 2 in/proc/sys/vm / overcommit_memory), ei sallita jakoa, joka ylittäisi Toimitusrajoituksen. Tämä on hyödyllistä, jos on varmistettava, että prosessit eivät epäonnistu muistin puutteen vuoksi, kun kyseinen muisti on onnistuneesti varattu.
VmallocTotal Vmalloctotal-muistialueen kokonaiskoko.
Vmallocin Kohdentama käytetyn vmallocin Pinta-alan määrä. Linuxin 4.4: n jälkeen tätä kenttää ei enää lasketa, vaan se koodataan kovalla koodilla 0. Katso/proc / vmallocinfo.
VmallocChunk suurin yhtenäinen vmallocin alue, joka on vapaa. Linux 4.4: n jälkeen tätä kenttää ei enää lasketa, vaan se koodataan kovalla koodilla 0. Katso/proc / vmallocinfo.
LazyFree näyttää madvise(2) MADV_FREE-merkillä merkityn muistin määrän.
AnonHugePages Non-file backdown huge pages mapped into user-space page tables.
ShmemHugePages memory used by shared memory (shmem) and tmpfs (5) allocated with huge pages
Shmmempdmapped Jaettu muisti kartoitettu käyttäjätilaan valtavilla sivuilla.
CmaTotal Total CMA (Contiguous Memory Allocator) pages.
CmaFree Free CMA (Contiguous Memory Allocator) – sivut.
HugePages_Total valtavien sivujen altaan koko.
HugePages_Free the number of huge pages in the pool that is not yet allowed.
HugePages_Rsvd tämä on se valtava Sivumäärä, jolle on sitouduttu allokoimaan, mutta allokointia ei ole vielä tehty. Nämä varatut valtavat sivut takaavat, että sovellus pystyy jakamaan valtavan sivun valtavien sivujen joukosta vikahetkellä.
HugePages_Surap tämä on arvo /proc/sys/vm/nr_hugepages-sivustossa olevan valtavan sivumäärän yläpuolella. Valtavien ylijäämäsivujen maksimimäärää valvoo / proc/sys/vm / nr_overcommit_hugepages.
Hugepagesize valtavien sivujen koko.
DirectMap4k ytimen lineaarisesti kartoittamien tavujen määrä 4KB: n sivuilla.
DirectMap4M ytimen lineaarisesti kartoittamien tavujen määrä 4MB-sivuilla.
DirectMap2M ytimen lineaarisesti kartoittamien tavujen määrä 2MB-sivuilla.
DirectMap1G x86 CONFIG_X86_64-ja CONFIG_X86_DIRECT_GB-sivut käytössä.

voimme suodattaa tiedoston käyttämällä grep-tai egrep-komentoa seuraavasti:
grep -E --color 'Mem|Cache|Swap' /proc/meminfo
Linux proc meminfo-tiedosto

käyttämällä vapaata komentoa käytetyn tarkistamiseen ja vapaan muistin hyödyntämiseen

/proc/meminfon ulostulo on tehokas mutta ei käyttäjäystävällinen. Siksi meidän on käytettävä vapaata komentoa. Free-komento näyttää Linux-järjestelmän vapaan ja käytetyn muistin määrän. Esimerkiksi:
free
Haluatko nähdä ihmisen luettavan tulosteen? Kokeile:
free -h
free --human

Näytetulokset:

 total used free shared buff/cache availableMem: 94Gi 15Gi 672Mi 428Mi 78Gi 77GiSwap: 0B 0B 0B
näytettävät sarakkeet ovat seuraavat:
sarake kuvaus
yhteensä asennettu muisti yhteensä
käytetty Käytetty Muisti (laskettu kokonaispuskurittomana välimuistina)
vapaa käyttämätön muisti (MemFree ja SwapFree in / proc / meminfo)
jaettu muisti, jota tmpfs käyttää enimmäkseen (Shmem in / proc / meminfo)
Puskurit ytimen puskureiden käyttämä muisti (Puskurit / proc / meminfossa)
välimuisti sivun välimuistin käyttämä muisti ja laatat (välimuistissa ja SReclaimable in / proc / meminfo)
puskuri / välimuisti puskurien ja välimuistin summa
käytettävissä arvio siitä, kuinka paljon muistia on käytettävissä uusien sovellusten käynnistämiseen vaihtamatta.

voimme toistaa tulostuksen vapaa komento lähtö N sekunnin välein. Esimerkiksi tulosta tuloste 5 sekunnin välein ja poistu kymmenen tällaisen toiston jälkeen (laskee) näytöllä:
free -s 5 -c 10
voimme ohjata lähtö vapaa komento seuraavasti:
free
free -k
free -g
free -m

vapaan komennon ulostulon hallinta
vaihtoehto Näytä tuloste
-b, –tavua
–kilo kilotavua
–mega megatavua
–giga gigatavua
–tera teratavua
–peta petatavua
-k, –kibi kibibytes
-m, — mebi mebibytes
-g, — gibi gibibyyttiä
–tebi tebibytes
–pebi pebibytes

vmstat-komento

vmstat-komento on tehokas, ja se näyttää tietoa Linux-laitteistosta, kuten:

  • prosessit
  • muisti
  • hakulaitteet
  • estää IO
  • ansat
  • levyt
  • suorittimen toiminta

avaa pääte ja kirjoita seuraava komento:
vmstat
näyte istunto minun Ubuntu Linux desktop:

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

siirrä – w nähdäksesi laajan ulostulon näytöllä:
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

kentän kuvaus VM-moodille (muisti ja vaihto)
kenttä kuvaus
swpd käytetyn virtuaalimuistin määrä.
vapaa tyhjäkäyntimuistin määrä.
buff puskureina käytetyn muistin määrä.
välimuisti välimuistina käytetyn muistin määrä.
inact inaktiivisen muistin määrä. (- optio)
aktiivinen aktiivisen muistin määrä. (- optio)
si levyltä (/s) vaihtuneen muistin määrä.
joten muistin määrä vaihtui levylle (/s).

top-ja htop-komennot

top-ja htop-komennot tarjoavat dynaamisen reaaliaikaisen näkymän käynnissä olevasta Linux-järjestelmästä. Tämä sisältää tietoa:

Patreon supporters only guides 🤓
  • Ei mainoksia ja seuranta
  • syvällisiä oppaita kehittäjille ja sysadmineille Opensourceflarehomissa
  • liity Patreoniini tukemaan itsenäisiä sisällöntuottajia ja aloittamaan uusimpien oppaiden lukemisen:
    • Kuinka perustaa Redis sentinel-klusteri Ubuntuun tai Debian Linuxiin
    • miten perustaa SSH – avaimet yubikeyn kanssa kaksivaiheiseksi todennukseksi (U2F/FIDO2)
    • miten perustaa Mariadb Galera-klusteri Ubuntuun tai Debian Linuxiin
    • podman-opetusohjelma aloittelijoille-osa I (suorita Linux-kontteja ilman Dockeria ja daemonless-tilassa)
    • miten suojata Linux Rogue USB-laitteita Usbguard
    • jos verkkotunnuksesi ei lähetä sähköpostia, aseta nämä DNS-asetukset välttääksesi huijauksen ja tietojenkalastelun

Join Patreon ➔

  • laitteiston ja suorittimen käyttöaste
  • Linuxin käyttöaika
  • muistin ja vaihtojen käyttö
  • järjestelmäprosessit ja muut

huomaa, että htop: tä ei ole asennettu oletusarvoisesti. Mutta voit asentaa sen CentOS, Debian, Ubuntu, ja muut käyttöjärjestelmät helposti.

suorita seuraava komento:
top
htop

raportoi muistin käyttö jaetulla muistilla jaettuna suhteellisesti

smem-työkalu raportoi:

  • fyysinen muistin käyttö ottaen huomioon jaetut muistisivut. Unshared memory ilmoitetaan nimellä USS (Unique Set Size).
  • Jaettu muisti jakautuu tasaisesti kyseistä muistia jakavien prosessien kesken.
  • jakamaton muisti (USS) plus prosessin osuus jaetusta muistista ilmoitetaan PSS: nä (suhteellinen Set Size).
  • USS ja PSS sisältävät vain fyysisen muistin käytön. Ne eivät sisällä muistia, joka on vaihdettu levylle.
  • muisti voidaan ilmoittaa prosessilla, käyttäjällä, kartoituksella tai koko järjestelmällä. Käytettävissä on sekä Tekstitila että graafinen ulostulo.

smem voidaan asentaa apt-komennolla / apt-get-komennolla Debian / Ubuntu Linuxiin:
sudo apt install smem
suorita se seuraavasti:
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

muistin hyödyntämisen tarkistaminen Linuxissa käyttäen GUI

System Monitor on GUI Linux-sovellus, joka näyttää, mitä ohjelmia on käynnissä ja kuinka paljon prosessorin aikaa, muistia ja levytilaa käytetään. Voimme avata Järjestelmämonitorin toiminnan yleiskatsauksesta. Paina Super-näppäintä näppäimistön. Näet Ikkunat ja sovellukset yleiskatsauksessa. Voit myös vain aloittaa kirjoittamalla etsiä sovelluksia, kuten System Monitor. Resurssit-välilehti kertoo, kuinka paljon tietokoneesi muistia (RAM) käytetään. Voit tarkistaa, mitkä prosessit käyttävät eniten muistia: Napsauta Prosessit-välilehteä. Napsauta muisti-sarakkeen otsikkoa ja lajittele prosessit muistin käytön mukaan.

katso lisätietoja dokumentaatiosta.

Summaten

opit löytämään Linux-muistin (RAM) hyödyntämisen Linuxissa GUI-ja CLI-työkalujen avulla.

🐧 Hanki uusimmat tutorials Linux, Open Source & DevOps kautta
RSS-syöte ➔ Weekly email newsletter ➔

mainos

Luokka luettelo Unix – ja Linux-komennoista
Download managers wget
Documentation help * mandb * man * pinfo
Levyavaruusanalysaattorit df * duf * ncdu * pydf
Tiedostonhallinta cat * cp * vähemmän mkdir lisää puu
palomuuri Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 * Ubuntu 20.04
Linux-työpöytäsovellukset Skype * Spotify • VLC 3
Modernit apuohjelmat bat * exa
verkon apuohjelmat NetHogs * dig * host * ip • nmap
OpenVPN CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04
paketinhallinta apk * apt
Processes Management bg * chroot * cron * disown * fg • glances * gtop * iotop * jobs * killall * kill * pidof • pstree • pwdx * time * vtop
Searching ag * grep * whereis * which
Shell builtins compgen * echo * printf
tekstinkäsittely leikkaa * rev
käyttäjätiedot groups * id * lastcomm • last * lid/libuser-lid * logname * members * users * whoami * who * w
WireGuard VPN Alpine * CentOS 8 • Debian 10 * Firewall * Ubuntu 20.04

Vastaa

Sähköpostiosoitettasi ei julkaista.