hogyan ellenőrizhető a memória kihasználtsága Linuxban
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.
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 /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
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
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
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
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
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:
- 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
- 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.
RSS feed ons heti e-mail hírlevél ➔
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 |