jak zkontrolovat využití paměti v Linuxu
Jak mohu zkontrolovat využití paměti v Linuxu pomocí volby příkazového řádku a GUI?
máme fyzickou RAM, jako je 16 GB a odkládací paměť. Odkládací paměť není nic jiného než místo na disku, které umožňuje počítači se systémem Linux spouštět více aplikací současně, než se vejde do systémové paměti (RAM). Tato stránka vysvětluje různé příkazy pro kontrolu využití a využití paměti v Linuxu pomocí nástrojů příkazového řádku a GUI.
příkazy pro kontrolu využití paměti v Linuxu
váš systém Linux musí běžet na optimální úrovni. Paměť hraje v systému Linux kritickou roli. Vývojář nebo zkušený sysadmin musí znát celkové množství volné a použité fyzické, včetně odkládací paměti na serveru. Nejlepší by bylo, kdybyste sledovali vyrovnávací paměti a mezipaměti používané také jádrem.
soubor / proc / meminfo
soubor / proc / meminfo hlásí statistiky o využití paměti v systému Linux. Použijte příkaz cat command / less command nebo příkaz grep command / egrep v Linuxovém boxu následujícím způsobem:cat /proc/meminfo
more /proc/meminfo
každý řádek souboru /proc / meminfo se skládá z názvu parametru, následovaného dvojtečkou, hodnotou parametru a volitelnou měrnou jednotkou. Například „kB“.
porozumění parametrům využití paměti
parametr | popis |
---|---|
MemTotal | celková použitelná paměť RAM (tj., fyzická RAM minus několik vyhrazených bitů a binární kód jádra). |
MemFree | součet LowFree + HighFree. |
MemAvailable | (od Linuxu 3.14) odhad, kolik paměti je k dispozici pro spouštění nových aplikací, bez výměny. |
vyrovnávací paměti | relativně dočasné úložiště pro bloky raw disků, které by neměly být ohromně velké (asi 20 MB). |
cache | mezipaměť v paměti pro soubory načtené z disku (mezipaměť stránky). Nezahrnuje SwapCached. |
SwapCached | paměť, která byla jednou vyměněna, je vyměněna zpět, ale stále je také ve swapovém souboru. |
aktivní | paměť, která byla použita v poslední době a obvykle není regenerována, pokud to není nezbytně nutné. |
neaktivní | paměť, která byla nedávno použita. Je více způsobilý k rekultivaci pro jiné účely. |
HighTotal | celkové množství highmem. Highmem je veškerá paměť nad ~860 MB fyzické paměti. Oblasti Highmem jsou určeny pro použití programy uživatelského prostoru nebo pro mezipaměť stránky. Jádro musí používat triky pro přístup k této paměti, takže je přístup pomalejší než lowmem. |
HighFree | množství volného highmem. |
LowFree | množství volného lowmem. |
SwapTotal | celkové množství swapového prostoru k dispozici. |
SwapFree | množství swapového prostoru, který je aktuálně nevyužitý. |
špinavá | paměť, která čeká na zápis zpět na disk. |
Writeback | paměť, která se aktivně zapisuje zpět na disk. |
anonpages | stránky bez podpory souborů namapované do tabulek stránek v uživatelském prostoru. |
mapovány | soubory, které byly namapovány do paměti (s mmap (2)), jako jsou knihovny. |
Shmem | množství paměti spotřebované v souborových systémech tmpfs(5). |
KReclaimable | přidělení jádra, které se jádro pokusí získat zpět pod tlakem paměti. Zahrnuje SReclaimable (níže), a další přímé alokace s shrinker. |
Slab | mezipaměť datových struktur v jádře. (Viz slabinfo (5).) |
SReclaimable | část desky, která by mohla být rekultivována, jako jsou mezipaměti. |
SUnreclaim | část desky, kterou nelze rekultivovat při tlaku paměti. |
Kernelstack | množství paměti přidělené zásobníkům jádra. |
PageTables | množství paměti vyhrazené pro nejnižší úroveň tabulek stránek. |
NFS_Unstable | NFS stránky odeslané na server, ale dosud nebyly zavázány ke stabilnímu úložišti. |
Bounce | paměť používaná pro blokové zařízení „bounce buffers“. |
WritebackTmp | paměť používaná pojistkou pro dočasné vyrovnávací paměti pro zápis. |
CommitLimit | Toto je celkové množství paměti, které je v současné době k dispozici pro přidělení systému, vyjádřené v kilobajtech. Tento limit je dodržen pouze v případě, že je povoleno strict overcommit accounting (režim 2 v / proc / sys / vm/overcommit_memory). Limit se vypočítá podle vzorce popsaného v /proc / sys / vm / overcommit_memory. |
Committed_AS | množství paměti aktuálně přidělené v systému. Odevzdaná paměť je součtem veškeré paměti, která byla přidělena procesy, i když ji dosud „nepoužívala“. Proces, který přiděluje 1GB paměti(pomocí malloc (3) nebo podobné), ale dotýká se pouze 300MB této paměti se zobrazí jako použití pouze 300MB paměti, i když má adresový prostor přidělený pro celý 1GB. Tento 1GB je paměť, která byla „zavázána“ VM a může být kdykoli použita alokační aplikací. Pokud je v systému povolen přísný overcommit (režim 2 v /proc / sys/vm/overcommit_memory), alokace, které by překročily CommitLimit, nebudou povoleny. To je užitečné, pokud je třeba zaručit, že procesy nebudou selhat kvůli nedostatku paměti, jakmile bude tato paměť úspěšně přidělena. |
VmallocTotal | celková velikost oblasti paměti vmalloc. |
VmallocUsed | množství vmalloc plochy, která se používá. Od Linuxu 4.4 se toto pole již nepočítá a je pevně kódováno jako 0. Viz /proc / vmallocinfo. |
VmallocChunk | největší souvislý blok oblasti vmalloc, který je volný. Od Linuxu 4.4 se toto pole již nepočítá a je pevně kódováno jako 0. Viz /proc / vmallocinfo. |
LazyFree | zobrazuje množství paměti označené madvise (2) MADV_FREE. |
anonhugepages | obrovské stránky bez podpory souborů mapované do tabulek stránek uživatelského prostoru. |
ShmemHugePages | paměť používaná sdílenou pamětí (shmem) a tmpfs(5) přidělené s obrovskými stránkami |
ShmemPmdMapped | sdílená paměť mapována do uživatelského prostoru s obrovskými stránkami. |
CmaTotal | celkem CMA (souvislý alokátor paměti) stránky. |
CmaFree | volné stránky CMA (Contuguous Memory Allocator). |
HugePages_Total | Velikost fondu obrovských stránek. |
HugePages_Free | počet obrovských stránek ve fondu, které ještě nejsou přiděleny. |
HugePages_Rsvd | Toto je počet obrovských stránek, pro které byl učiněn závazek přidělit z fondu, ale dosud nebylo provedeno žádné přidělení. Tyto vyhrazené obrovské stránky zaručují, že aplikace bude schopna přidělit obrovskou stránku ze skupiny obrovských stránek v době poruchy. |
HugePages_Surap | Toto je počet obrovských stránek ve fondu nad hodnotou v /proc/sys / vm / nr_hugepages. Maximální počet přebytečných obrovských stránek je řízen / proc / sys / vm / nr_overcommit_hugepages. |
Hugepagesize | Velikost obrovských stránek. |
DirectMap4k | počet bajtů RAM lineárně mapovaných jádrem na 4KB stránkách. |
DirectMap4M | počet bajtů RAM lineárně mapovaných jádrem na 4MB stránkách. |
DirectMap2M | počet bajtů RAM lineárně mapovaných jádrem na 2MB stránkách. |
DirectMap1G | x86 s CONFIG_X86_64 a CONFIG_X86_DIRECT_GBPAGES povoleno. |
soubor můžeme odfiltrovat pomocí příkazu grep nebo příkazu egrep následujícím způsobem:grep -E --color 'Mem|Cache|Swap' /proc/meminfo
pomocí volného příkazu ke kontrole použité a volné využití paměti
výstup /proc/meminfo je silný, ale není uživatelsky přívětivý. Proto musíme použít příkaz zdarma. Příkaz free zobrazuje množství volné a použité paměti v systému Linux. Například:free
chcete vidět výstup čitelný pro člověka? Zkuste:free -h
free --human
Ukázkové výstupy:
total used free shared buff/cache availableMem: 94Gi 15Gi 672Mi 428Mi 78Gi 77GiSwap: 0B 0B 0B
sloupec | popis |
---|---|
celkem | celková instalovaná paměť |
použitá | použitá paměť (vypočtená jako total – free – buffers-cache) |
Volný | nepoužitá paměť (MemFree a SwapFree v / proc / meminfo) |
sdílená | paměť používaná většinou tmpfs (Shmem v /proc / meminfo) |
vyrovnávací paměti | paměť používaná jader buffery (vyrovnávací paměti v /proc / meminfo) |
cache | paměť používaná mezipamětí stránky a desky (mezipaměti a SReclaimable v /proc / meminfo) |
buff / cache | součet bufferů a cache |
k dispozici | odhad, kolik paměti je k dispozici pro spuštění nových aplikací, bez výměny. |
můžeme opakovat tisk zdarma příkazový výstup každých N sekund. Například tiskněte výstup každých 5 sekund a ukončete po deseti takových opakováních (počtech) na obrazovce:free -s 5 -c 10
můžeme řídit výstup volného příkazu následovně:free
free -k
free -g
free -m
volba | zobrazit výstup v |
---|---|
-b, — bytes | |
–kilo | kilobajty |
–mega | megabajtů |
–giga | gigabajty |
–tera | terabajty |
–peta | petabajty |
-k, –kibi | kibibytes |
-m, –mebi | mebibytes |
-g, –gibi | gibibyty |
–tebi | tebibytes |
–pebi | pebibytes |
příkaz vmstat
příkaz vmstat je výkonný a zobrazuje informace o hardwaru Linuxu, například:
- procesy
- paměť
- stránkování
- blok IO
- pasti
- disky
- aktivita CPU
otevřete terminál a zadejte následující příkaz:vmstat
Ukázková relace z mého 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
projít-w vidět široký výstup na obrazovce: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
pole | popis |
---|---|
swpd | množství použité virtuální paměti. |
zdarma | množství nečinné paměti. |
buff | množství paměti použité jako vyrovnávací paměti. |
cache | množství paměti použité jako cache. |
inact | množství neaktivní paměti. (- možnost) |
aktivní | množství aktivní paměti. (- možnost) |
si | množství paměti vyměněné z disku (/s). |
takže | množství paměti vyměněné na disk (/s). |
příkaz top a htop
příkazy top a htop poskytují dynamický pohled na běžící systém Linux v reálném čase. To zahrnuje informace o:
- žádné reklamy a sledování
- hloubkové příručky pro vývojáře a sysadminy na Opensourceflare
- Připojte se k mému Patreonu a podpořte nezávislé tvůrce obsahu a začněte číst nejnovější příručky:
- jak nastavit Redis sentinel cluster na Ubuntu nebo Debian Linux
- jak nastavit SSH klíče s YubiKey jako dvoufaktorovou autentizaci (U2F/FIDO2)
- jak nastavit MariaDB Galera cluster na Ubuntu nebo Debian Linux
- podman tutorial pro začátečníky-Část I (spusťte Linuxové kontejnery bez Dockeru a v režimu daemonless)
- jak chránit Linux proti nepoctivým zařízením USB používajícím USBGuard
- pokud vaše doména neposílá e – maily, nastavte tato nastavení DNS, abyste se vyhnuli spoofingu a phishingu
- využití hardwaru a CPU
- Linux uptime
- využití paměti a swapu
- systémové procesy a další
Vezměte prosím na vědomí, že htop není ve výchozím nastavení nainstalován. Můžete jej však snadno nainstalovat na CentOS, Debian, Ubuntu a další operační systémy.
Spusťte následující příkaz:top
htop
nahlásit využití paměti se sdílenou pamětí rozdělenou proporcionálně
zprávy nástroje smem:
- využití fyzické paměti s ohledem na stránky sdílené paměti. Nesdílená paměť je hlášena jako USS (Unique Set Size).
- sdílená paměť je rozdělena rovnoměrně mezi procesy, které tuto paměť sdílejí.
- nesdílená paměť (USS) plus podíl sdílené paměti procesu se uvádí jako PSS (proporcionální velikost sady).
- USS a PS zahrnují pouze využití fyzické paměti. Nezahrnují paměť, která byla vyměněna na disk.
- paměť může být hlášena procesem, uživatelem, mapováním nebo celým systémem. Oba textový režim a grafický výstup jsou k dispozici.
jeden může nainstalovat smem pomocí příkazu apt / apt-get příkaz na Debian / Ubuntu Linux:sudo apt install smem
spusťte jej následovně: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
Kontrola využití paměti v Linuxu pomocí GUI
System Monitor je GUI Linux aplikace, která vám ukáže, jaké programy jsou spuštěny a kolik času procesoru, paměti a místa na disku jsou používány. Monitor systému můžeme otevřít z přehledu aktivit. Stiskněte klávesu Super na klávesnici. V přehledu můžete vidět okna a aplikace. Můžete také začít psát a vyhledávat aplikace, například System Monitor. Karta zdroje vám řekne, kolik paměti počítače (RAM) se používá. Chcete-li zkontrolovat, které procesy používají nejvíce paměti: klepněte na kartu Procesy. Klepnutím na záhlaví sloupce paměti seřaďte procesy podle využití paměti.
viz dokumentace pro více informací.
shrnutí
naučili jste se, jak najít využití paměti Linux (RAM)v Linuxu pomocí nástrojů GUI a CLI.
RSS feed Weekly týdenní e-mailový zpravodaj ➔
Kategorie | seznam unixových a linuxových příkazů |
---|---|
Správci stahování | wget |
dokumentace | Nápověda * mandb * man * pinfo |
analyzátory místa na disku | df * duf * ncdu * pydf |
Správa souborů | cat * cp * less * mkdir * více * strom |
Firewall | Alpine Awall * CentOS 8 * OpenSUSE * RHEL 8 * Ubuntu 16.04 * Ubuntu 18.04 * Ubuntu 20.04 |
Linux desktopové aplikace | Skype * Spotify * VLC 3 |
moderní nástroje | bat * exa |
síťové nástroje | NetHogs * dig * host * ip * nmap |
OpenVPN | CentOS 7 * CentOS 8 * Debian 10 * Debian 8/9 * Ubuntu 18.04 * Ubuntu 20.04 |
správce balíčků | apk * apt |
řízení procesů | bg * chroot • cron * disown * fg * pohledy * gtop • iotop * jobs * killall * kill * pidof • pstree * pwdx * čas * vtop |
vyhledávání | ag • grep * whereis * který |
Shell builtins | compgen * echo * printf |
zpracování textu | vyjmout * rev |
informace o uživateli | skupiny * id * lastcomm • Poslední * lid / libuser-lid • logname * členové * uživatelé * whoami * kdo * w |
WireGuard VPN | Alpine * CentOS 8 * Debian 10 * Firewall * Ubuntu 20.04 |