december 17, 2021

hogyan ellenőrizhető a memória kihasználtsága Linuxban

az összes GNU/Linuxhoz Kapcsolódó GYIK megtekintése

hogyan ellenőrizhető a memória kihasználtsága Linuxban parancssori és GUI opciókkal?
van fizikai RAM, mint a 16GB és a swap memória. A Swap memória nem más, mint a lemezterület, amely lehetővé teszi a Linux számítógép számára, hogy több alkalmazást futtasson egyszerre, mint amennyi belefér a rendszermemóriába (RAM). Ez az oldal különféle parancsokat ismertet a memóriahasználat és a Linux kihasználtságának ellenőrzésére parancssori és GUI eszközök segítségével.

hirdetés

parancsok a memória kihasználtságának ellenőrzésére Linux alatt

a Linux rendszernek optimális szinten kell futnia. A memória kritikus szerepet játszik egy Linux rendszerben. A fejlesztőnek vagy a tapasztalt rendszergazdának ismernie kell a szabad és használt fizikai mennyiséget, beleértve a SWAP memóriát a kiszolgálón. Az lenne a legjobb, ha szemmel tartanánk a kernel által használt puffereket és gyorsítótárakat is.

a /proc/meminfo fájl

a /proc/meminfo fájl statisztikákat közöl a Linux memóriahasználatáról. Használja a cat command/less parancsot vagy a grep command/egrep parancsot az alábbiak szerint a Linux dobozban:
cat /proc/meminfo
more /proc/meminfo

a memória kihasználtságának ellenőrzése Linux alatt
a /proc/meminfo fájl minden sora tartalmaz egy paraméternevet, amelyet kettőspont, a paraméter értéke és egy opció mértékegysége követ. Például: “kB”.

a memóriahasználat paramétereinek megértése

mezők leírási táblázat
paraméter leírás
MemTotal összes használható RAM (pl., fizikai RAM mínusz néhány fenntartott bit és a kernel bináris kódja).
MemFree az összeg a LowFree+HighFree.
MemAvailable (a Linux 3.14 óta) annak becslése, hogy mennyi memória áll rendelkezésre új alkalmazások indításához, csere nélkül.
pufferek viszonylag ideiglenes tárhely a nyers lemezblokkok számára, amelyeknek nem szabad rendkívül nagynak lenniük (körülbelül 20 MB).
Cached memóriában tárolt gyorsítótár a lemezről olvasott fájlokhoz (az oldal gyorsítótárához). Nem tartalmazza SwapCached.
SwapCached memória, hogy egyszer cserélték ki, cserélték vissza, de még mindig is a swap fájlt.
aktív újabban használt memória, amelyet általában nem használnak vissza, hacsak nem feltétlenül szükséges.
inaktív memória, amelyet ritkábban használtak. Jogosultabb arra, hogy más célokra visszanyerje.
HighTotal a highmem teljes összege. A Highmem az összes memória ~860 MB fizikai memória felett van. Highmem területek által használt felhasználói tér programok, vagy az oldal cache. A kernelnek trükköket kell használnia a memória eléréséhez, így lassabban érhető el, mint a lowmem.
HighFree mennyiségű szabad highmem.
LowFree az ingyenes lowmem mennyisége.
SwapTotal a rendelkezésre álló swapterület teljes összege.
SwapFree a jelenleg fel nem használt swapterület mennyisége.
Dirty memória, amely arra vár, hogy visszaírják a lemezre.
visszaírás memória, amely aktívan íródik vissza a lemezre.
AnonPages nem fájlalapú oldalak, amelyek felhasználói tér oldaltáblákba vannak leképezve.
a memóriába (az mmap(2) segítségével) leképezett fájlok, például könyvtárak.
Shmem a tmpfs(5) fájlrendszerekben felhasznált memória mennyisége.
KReclaimable Kernel allokációk, amelyeket a kernel memória nyomás alatt próbál visszaszerezni. Tartalmazza SReclaimable (lent), és egyéb közvetlen allokációk egy shrinker.
Slab kernelen belüli adatstruktúrák gyorsítótár. (Lásd slabinfo (5).)
SReclaimable része födém, hogy lehet visszanyert, mint a gyorsítótárak.
SUnreclaim része födém, hogy nem lehet visszanyerni a memória nyomás.
KernelStack a kernelhalmokhoz rendelt memória mennyisége.
PageTables az oldaltáblák legalacsonyabb szintjének szentelt memória mennyisége.
NFS_Unstable NFS oldalak elküldve a szerverre, de még nem kötelezték el magukat a stabil tárolás mellett.
Bounce memória használt blokk eszköz “bounce pufferek”.
WritebackTmp a FUSE által az ideiglenes visszaírási pufferekhez használt memória.
CommitLimit ez a rendszeren jelenleg rendelkezésre álló memória teljes mennyisége, kilobájtban kifejezve. Ezt a korlátot csak akkor tartják be, ha a szigorú overcommit elszámolás engedélyezve van (2.mód a /proc/sys/vm/overcommit_memory fájlban). A határérték kiszámítása a /proc/sys/vm/overcommit_memory alatt leírt képlet szerint történik.
Commited_as a rendszeren jelenleg lefoglalt memória mennyisége. Az elkötelezett memória az összes memória összege, amelyet a folyamatok kiosztottak, még akkor is, ha még nem “használták” őket. Az a folyamat, amely 1 GB memóriát foglal el(a malloc (3) vagy hasonló használatával), de csak 300 MB-ot érint meg, csak 300 MB memóriát fog használni, még akkor is, ha a teljes 1 GB-os címtér van lefoglalva. Ez az 1 GB-os memória, amelyet a virtuális gép “elkötelezett”, és az allokáló alkalmazás bármikor felhasználhat. Ha a szigorú overcommit engedélyezve van a rendszeren (2.mód a /proc/sys/vm/overcommit_memory-ban), akkor a Commit limitet meghaladó allokációk nem engedélyezettek. Ez akkor hasznos, ha garantálni kell, hogy a folyamatok nem fognak meghibásodni a memória hiánya miatt, miután a memóriát sikeresen lefoglalták.
VmallocTotal a vmalloc memóriaterület teljes mérete.
VmallocUsed a felhasznált vmalloc terület mennyisége. Mivel a Linux 4.4, ez a mező már nem számít, és keményen kódolt 0. Lásd /proc / vmallocinfo.
VmallocChunk a Vmalloc terület legnagyobb összefüggő blokkja, amely ingyenes. A Linux 4.4 óta ez a mező már nem számítható, és 0-ként van kódolva. Lásd /proc / vmallocinfo.
LazyFree a madvise(2) madv_free által megjelölt memória mennyiségét mutatja.
AnonHugePages Nem fájl alapú hatalmas oldalak leképezve felhasználói tér oldal táblázatok.
ShmemHugePages megosztott memória (shmem) és tmpfs(5) által használt memória hatalmas oldalakkal
ShmemPmdMapped megosztott memória leképezve a felhasználói tér hatalmas oldalakat.
CmaTotal összes CMA (Contiguous Memory Allocator) oldalak.
CmaFree szabad CMA (Contiguous Memory Allocator) oldalak.
HugePages_Total a hatalmas oldalak medencéjének mérete.
HugePages_Free a medence hatalmas oldalainak száma, amelyek még nem kerültek kiosztásra.
HugePages_Rsvd ez azoknak a hatalmas oldalaknak a száma, amelyekre kötelezettséget vállaltak a poolból történő allokációra, de még nem történt allokáció. Ezek a fenntartott hatalmas oldalak garantálják, hogy egy alkalmazás képes lesz egy hatalmas oldalt kiosztani a hatalmas oldalak készletéből hibaidőben.
HugePages_Surap ez a hatalmas oldalak száma a készletben a /proc/sys/vm/nr_hugepages érték felett. A felesleges hatalmas oldalak maximális számát a /proc/sys/vm/nr_overcommit_hugepages vezérli.
Hugepagesize a hatalmas oldalak mérete.
DirectMap4k a kernel által lineárisan leképezett RAM bájtok száma 4KB oldalakon.
DirectMap4M a kernel által lineárisan leképezett RAM bájtok száma 4 MB-os oldalakon.
DirectMap2M a kernel által lineárisan leképezett RAM bájtok száma 2 MB-os oldalakon.
DirectMap1G x86 a CONFIG_X86_64 és a CONFIG_X86_DIRECT_GBPAGES engedélyezve.

a fájlt a grep paranccsal vagy az egrep paranccsal az alábbiak szerint szűrhetjük ki:
grep -E --color 'Mem|Cache|Swap' /proc/meminfo
Linux proc meminfo fájl

a free parancs használata a használt és a szabad memória kihasználásának ellenőrzésére

a /proc/meminfo kimenete erőteljes, de nem felhasználóbarát. Ezért a szabad parancsot kell használnunk. A free parancs megmutatja a szabad és használt memória mennyiségét a Linux rendszerben. Például:
free
szeretné látni az ember által olvasható kimenetet? Próbálja:
free -h
free --human

Minta kimenetek:

 total used free shared buff/cache availableMem: 94Gi 15Gi 672Mi 428Mi 78Gi 77GiSwap: 0B 0B 0B
A megjelenített oszlopok a következők:
oszlop leírás
összesen összes telepített memória
használt használt memória (total – free – buffers – cache-ként számítva)
ingyenes nem használt memória (MemFree és SwapFree a /proc/meminfo-ban)
megosztott memória, amelyet leginkább a tmpfs használ (Shmem a /proc/meminfo-ban)
pufferek a kernel pufferek által használt memória (pufferek a /proc/meminfo fájlban)
gyorsítótár az oldal gyorsítótár által használt memória és lemezek (gyorsítótárazott és SReclaimable a / proc / meminfo)
buff / cache pufferek és gyorsítótár összege
elérhető becslése, hogy mennyi memória áll rendelkezésre az új alkalmazások indításához, csere nélkül.

minden n másodpercben megismételhetjük a szabad parancs kimenet nyomtatását. Például 5 másodpercenként nyomtassa ki a kimenetet, majd tíz ilyen ismétlés (számlálás) után lépjen ki a képernyőn:
free -s 5 -c 10
a szabad parancs kimenetét a következőképpen vezérelhetjük:
free
free -k
free -g
free -m

A szabad parancs kimenetének vezérlése
opció kimenet megjelenítése
-b, — bájt
–kilo kilobájt
–mega megabájt
–giga gigabájt
–tera terabájt
–peta petabájt
-k, — kibi kibibyte
-m, –mebi mebibájt
-g, — gibi gibibytes
–tebi tebibytes
–pebi pebibytes

vmstat parancs

a vmstat parancs erőteljes, és információkat jelenít meg a Linux hardverről, például:

  • folyamatok
  • memória
  • Lapozás
  • blokk IO
  • csapdák
  • lemezek
  • CPU tevékenység

nyissa meg a terminált, és írja be a következő parancsot:
vmstat
Minta munkamenet az Ubuntu Linux asztalomról:

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

adja át a-w-t, hogy széles kimenetet láthasson a képernyőn:
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

A virtuális gép mód (memória és csere) mező leírása)
mező leírás
swpd a felhasznált virtuális memória mennyisége.
ingyenes az üresjárati memória mennyisége.
buff a pufferként használt memória mennyisége.
gyorsítótár a gyorsítótárként használt memória mennyisége.
inact az inaktív memória mennyisége. (- egy lehetőség)
aktív az aktív memória mennyisége. (- egy lehetőség)
si a lemezről (/s) kicserélt memória mennyisége.
tehát lemezre cserélt memória mennyisége (/s).

top és htop parancs

a top és htop parancsok dinamikus, valós idejű képet nyújtanak egy futó Linux rendszerről. Ez magában foglalja a következőkre vonatkozó információkat:

Patreon támogatók csak útmutatók 🤓
  • nincs hirdetés és nyomon követés
  • részletes útmutatók fejlesztőknek és rendszergazdáknak az Opensourceflare-en!
  • csatlakozzon a Patreon-hoz, hogy támogassa a független tartalomkészítőket és kezdje el olvasni a legújabb útmutatókat:
    • Hogyan hozzunk létre Redis sentinel cluster Ubuntu vagy Debian Linux
    • Hogyan hozzunk létre SSH kulcsok YubiKey kétfaktoros hitelesítés (U2F/FIDO2)
    • Hogyan hozzunk létre Mariadb Galera cluster Ubuntu vagy Debian Linux
    • a podman tutorial kezdőknek-I. rész (fuss Linux konténerek nélkül Docker
    • hogyan lehet megvédeni a Linuxot a rosszindulatú USB – eszközök ellen az USBGuard használatával
    • ha a tartomány nem küld e-mailt, állítsa be ezeket a DNS-beállításokat a hamisítás és az adathalászat elkerülése érdekében

csatlakozzon a Patreon-hoz!

  • hardver és CPU kihasználtság
  • Linux üzemidő
  • memória és csere kihasználtság
  • rendszerfolyamatok és egyebek

kérjük, vegye figyelembe, hogy a htop alapértelmezés szerint nincs telepítve. De könnyen telepítheti CentOS, Debian, Ubuntu és más operációs rendszerekre.

futtassa a következő parancsot:
top
htop

memóriahasználat jelentése megosztott memóriával arányosan osztva

a smem eszköz jelentések:

  • fizikai memóriahasználat a megosztott memóriaoldalakat figyelembe véve. A meg nem osztott memória USS (Unique Set Size) néven jelenik meg.
  • a megosztott memória egyenletesen oszlik meg a memóriát megosztó folyamatok között.
  • a meg nem osztott memória (USS), valamint a folyamat megosztott memória aránya PSS-ként (proporcionális Set Size) jelenik meg.
  • az USS és a PSS csak a fizikai memóriahasználatot tartalmazza. Nem tartalmazzák a lemezre cserélt memóriát.
  • a memóriát egy folyamat, egy felhasználó, leképezés vagy rendszerszintű jelentés jelentheti. Mind a Szöveges mód, mind a grafikus kimenet elérhető.

az smem telepíthető az apt parancs / apt-get parancs segítségével egy Debian / Ubuntu Linuxon:
sudo apt install smem
futtassa a következőképpen:
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

a memória kihasználtságának ellenőrzése Linux alatt a GUI

System Monitor egy GUI Linux alkalmazás, amely megmutatja, hogy milyen programok futnak, és mennyi processzoridőt, memóriát és lemezterületet használnak. A Rendszerfigyelőt a tevékenységek áttekintéséből nyithatjuk meg. Nyomja meg a Super gombot a billentyűzeten. A windows és az alkalmazások az áttekintésben láthatók. Azt is csak elkezd gépelni keresni az alkalmazások, mint például a System Monitor. Az erőforrások fül jelzi, hogy a számítógép memóriája (RAM) mekkora részét használja fel. Annak ellenőrzéséhez, hogy mely folyamatok használják a legtöbb memóriát: kattintson a Folyamatok fülre. Kattintson a memória oszlop fejlécére a folyamatok memóriahasználat szerinti rendezéséhez.

további információkért lásd a dokumentációt.

Összegzés

megtanultad, hogyan lehet megtalálni a Linux memória (RAM) kihasználtságát Linuxon GUI és CLI eszközök segítségével.

🐧 Szerezd meg a legújabb oktatóanyagok Linux, nyílt forráskódú & DevOps keresztül
RSS feed ons heti e-mail hírlevél ➔

hirdetés

Kategória Unix és Linux parancsok listája
Letöltéskezelők wget
dokumentáció Súgó * mandb * man * pinfo
lemezterület analizátorok df * duf * ncdu * pydf
Fájlkezelés cat * cp * kevesebb * mkdir * több * fa
tűzfal alpesi fal * CentOS 8 * OpenSUSE * RHEL 8 * Ubuntu 16.04 * Ubuntu 18.04 * Ubuntu 20.04
Linux asztali alkalmazások Skype * Spotify * VLC 3
Modern közművek bat * exa
hálózati segédprogramok NetHogs * dig * host * ip * nmap
OpenVPN CentOS 7 * CentOS 8 * Debian 10 * Debian 8/9 * Ubuntu 18.04 * Ubuntu 20.04
csomagkezelő apk * apt
folyamatok kezelése bg * chroot • cron * Elutasít • fg * pillantások * gtop • iotop * munkahelyek * killall * kill * pidof • pstree * pwdx * idő * vtop
keresés ag * grep * whereis * melyik
Shell beépített compgen * echo * printf
szövegfeldolgozás cut • rev
felhasználói információk csoportok * id • lastcomm • utolsó * lid / libuser-lid • logname * tagok * felhasználók * whoami * ki * w
WireGuard VPN Alpine * CentOS 8 * Debian 10 * tűzfal * Ubuntu 20.04

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.