Miten tarkistaa muistin käyttö Linuxissa
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.
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
jokainen /proc/meminfo-tiedoston rivi koostuu parametrinimestä, jota seuraa kaksoispiste, parametrin arvo ja option mittayksikkö. Esimerkiksi ”kB”.
muistin käyttöparametrien ymmärtäminen
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
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
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
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
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:
- 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
- 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.
RSS-syöte ➔ Weekly email newsletter ➔
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 |