GNU/Linux >> Znalost Linux >  >> Linux

Jak zkontrolovat využití paměti v Linuxu

Při odstraňování problémů se zpomalením nebo nesprávným chováním systému nebo aplikace je jednou z prvních věcí, kterou je třeba zkontrolovat, využití systémové paměti.

Tento článek vysvětluje, jak zkontrolovat využití RAM v Linuxu pomocí několika různých příkazů.

free Příkaz #

free je nejčastěji používaný příkaz pro kontrolu využití paměti systému Linux. Zobrazuje informace o celkové, použité a volné paměti.

Obecně free se vyvolá pomocí -h možnost, která znamená tisk výstupu ve formátu čitelném pro člověka:

free -h
              total        used        free      shared  buff/cache   available
Mem:           3936        1087         252         130        2596        2427
Swap:             0           0           0

Zde je význam jednotlivých sloupců:

  • celkem – Celková velikost paměti, kterou mohou aplikace použít.
  • použité - Použitá paměť. Počítá se jako:used = total - free - buffers - cache
  • zdarma - Volná / nevyužitá paměť.
  • sdíleno - Tento sloupec lze ignorovat; je zobrazen pouze kvůli zpětné kompatibilitě.
  • buff/mezipaměť - Kombinovaná paměť, kterou používají vyrovnávací paměti jádra a mezipaměť stránek a slaby. Tuto paměť lze kdykoli získat zpět, pokud to aplikace potřebují.
  • k dispozici - Odhad paměti, která je k dispozici pro spouštění nových aplikací, bez výměny.

free příkaz vytiskne informace o fyzické paměti a systémovém swapu.

top Příkaz #

top je nástroj příkazového řádku, který zobrazuje informace o běžících procesech v reálném čase. Zobrazuje také souhrn systému, včetně využití paměti.

Pro vyvolání příkazu jednoduše napište top :

top

Výstup bude vypadat nějak takto:

Záhlaví výstupu obsahuje informace o celkové, volné a použité fyzické a odkládací paměti systému.

%MEM sloupec poskytuje informace o použitém podílu dostupné fyzické paměti pro každý spuštěný proces.

/proc/meminfo #

Nejjednodušší způsob, jak zkontrolovat využití paměti RAM, je zobrazit obsah /proc/meminfo virtuální soubor. Tento soubor používá free , top , ps a další příkazy systémových informací.

Použijte less nebo cat pro zobrazení obsahu /proc/meminfo soubor:

cat /proc/meminfo

Soubor obsahuje velké množství informací o systémové paměti a využití swapu:

MemTotal:        4030592 kB
MemFree:          401804 kB
MemAvailable:    2507504 kB
...

Informace z /proc/meminfo soubor lze analyzovat a použít ve skriptech shellu.

ps_mem Skript #

ps_mem je skript Pythonu, který hlásí využití paměti RAM pro jednotlivé programy. Funguje s Pythonem 2 i 3 a lze jej nainstalovat pomocí pip :

sudo pip3 install ps_mem

Spuštění ps_mem vyžaduje oprávnění správce:

sudo ps_mem

Výstup bude zahrnovat využití paměti každým spuštěným programem ve vzestupném pořadí:

 Private  +   Shared  =  RAM used	Program
...
 11.9 MiB +  20.2 MiB =  32.1 MiB	nginx (4)
  8.2 MiB +  42.4 MiB =  50.6 MiB	systemd-journald
 55.8 MiB + 307.2 MiB = 363.0 MiB	php-fpm7.4 (6)
233.9 MiB + 234.0 MiB = 467.9 MiB	redis-server
578.2 MiB + 578.6 MiB =   1.1 GiB	mysqld
---------------------------------
                          2.2 GiB
=================================

Tento skript je užitečný, když chcete zjistit, který spuštěný program zabírá většinu systémové paměti.

Závěr č.

Ukázali jsme vám několik příkazů, které můžete použít ke kontrole využití systémové paměti.

Pokud máte nějaké dotazy nebo připomínky, zanechte prosím níže komentář.


Linux
  1. Využití paměti Linuxu

  2. Jak zkontrolovat celkovou velikost RAM a využití paměti v Linuxu

  3. Jak zkontrolovat využití swapu jednotlivých procesů v Linuxu

  1. Jak zaznamenat spotřebu paměti v Linuxu?

  2. Jak zjistit využití uživatelské paměti v linuxu

  3. Jak se v Linuxu hlásí využití paměti?

  1. Jak zkontrolovat využití paměti procesu pomocí příkazu Linux pmap

  2. Linux – správně určit využití paměti v Linuxu?

  3. Jak zkontrolovat využití paměti na serveru se systémem Linux