a rendszer vagy az alkalmazás lassulásának vagy rossz viselkedésének hibaelhárításakor az egyik első ellenőrzés a rendszer memóriahasználata.
Ez a cikk elmagyarázza, hogyan lehet ellenőrizni a RAM használatát Linuxban több különböző parancs segítségével.
szabad parancs #
free
A Linux rendszer memóriahasználatának ellenőrzésére leggyakrabban használt parancs. Információkat jelenít meg a teljes, használt, valamint a szabad memória.
általában free
hivatkoznak a opcióval, amely azt jelenti, hogy a kimenetet ember által olvasható formátumban nyomtassa ki:
total used free shared buff/cache availableMem: 3936 1087 252 130 2596 2427Swap: 0 0 0
itt van minden oszlop jelentése:
- összesen-az alkalmazások által használható memória teljes mennyisége.
- használt memória. A számítás a következő:
used = total - free - buffers - cache
- szabad / fel nem használt memória.
- shared-ez az oszlop lehet figyelmen kívül hagyni; ez csak akkor jelenik meg a visszafelé kompatibilitás.
- buff / cache – a kombinált memória által használt kernel pufferek és Oldal cache és tábla. Ezt a memóriát bármikor vissza lehet állítani, ha az alkalmazásoknak szüksége van rá.
- elérhető-az új alkalmazások indításához rendelkezésre álló memória becslése csere nélkül.
a free
parancs kiírja a fizikai memóriára és a rendszercserére vonatkozó információkat.
felső parancs #
top
egy parancssori segédprogram, amely valós idejű információkat jelenít meg a futó folyamatokról. Azt is mutatja, a rendszer összefoglaló, beleértve a memóriahasználat.
hajtani a parancsot, akkor egyszerűen csak írja be a top
:
free -h
A kimenet valahogy így néz ki:
A fejléc a kimeneti információkat tartalmaz arról, hogy a rendszer teljes, szabad, használt fizikai memória csere.
a%MEM
oszlop információt nyújt a rendelkezésre álló fizikai memória használt részarányáról minden futó folyamathoz.
/proc/meminfo #
a RAM memória használatának legegyszerűbb módja a /proc/meminfo
virtuális fájl tartalmának megjelenítése. Ezt a fájlt a free
top
ps
és egyéb rendszerinformációs parancsok használják.
Use less
vagy cat
a /proc/meminfo
fájl tartalmának megtekintéséhez:
cat /proc/meminfo
A fájl tartalmaz nagy mennyiségű információt a rendszerek, memória, valamint swap használat:
MemTotal: 4030592 kBMemFree: 401804 kBMemAvailable: 2507504 kB...
az információkat A /proc/meminfo
fájl értelmezi, illetve használják a szkriptek.
ps_mem Script #
ps_mem
egy python script, amely jelentések per-program RAM memória használat. Mind a Python 2-vel, mind a 3-mal működik, és telepíthető a pip
:
sudo pip3 install ps_mem
futás rendszergazdai jogosultságokat igényel:
sudo ps_mem
a kimenet tartalmazza az egyes futó programok memóriahasználatát növekvő sorrendben:
Private + Shared = RAM usedProgram... 11.9 MiB + 20.2 MiB = 32.1 MiBnginx (4) 8.2 MiB + 42.4 MiB = 50.6 MiBsystemd-journald 55.8 MiB + 307.2 MiB = 363.0 MiBphp-fpm7.4 (6)233.9 MiB + 234.0 MiB = 467.9 MiBredis-server578.2 MiB + 578.6 MiB = 1.1 GiBmysqld--------------------------------- 2.2 GiB=================================
Ez a szkript akkor hasznos, ha meg szeretné tudni, hogy melyik futó program veszi a legtöbb rendszermemóriát.
következtetés #
több parancsot mutattunk be, amelyekkel ellenőrizheti a rendszer memóriahasználatát.