Existuje mnoho příkazů, které lze použít k identifikaci celkové velikosti instalované paměti RAM a ke kontrole množství volné a použité paměti v operačním systému Linux, jako je Red Hat Enterprise Linux (RHEL), CentOS, Ubuntu atd.
Paměť je jedním z kritických zdrojů pro počítač, zvláště pro server, protože dostatek paměti zajišťuje, že aplikacím lze přidělit paměť, kterou potřebují k provedení operace před odložením na disk, což je mnohem pomalejší, což zpomaluje dobu odezvy.
Protože GUI není vždy dostupné, zejména pro uživatele Linuxu, kteří často používají SSH nebo Telnet ke vzdálenému systému, tento tutoriál se zaměřuje na možnosti příkazového řádku, aby zjistil využití paměti a stav v Linuxu, což zahrnuje RAM a swap.
1. free Command
příkaz free zobrazí celkové množství volné a použité fyzické a odkládací paměti v systému a také vyrovnávací paměti a mezipaměti používané jádrem. Informace se shromažďují analýzou /proc/meminfo. Zobrazené informace jsou:
- total:Celková nainstalovaná paměť (MemTotal a SwapTotal v /proc/meminfo)
- použitá:Použitá paměť (vypočtená jako celková – volná – vyrovnávací paměti – mezipaměť)
- volné:Nevyužitá paměť (MemFree a SwapFree v /proc/meminfo)
- sdíleno:Paměť využívaná (většinou) tmpfs (Shmem v /proc/meminfo, k dispozici v jádrech 2.6.32, zobrazeno jako nula, pokud není dostupné)
- vyrovnávací paměti:Paměť používaná vyrovnávací paměti jádra (vyrovnávací paměti v /proc/meminfo)
- mezipaměť:Paměť využívaná mezipamětí stránky a slaby (Cached a Slab v /proc/meminfo)
- buff/cache:Součet vyrovnávacích pamětí a mezipaměti
- dostupné:Odhad, kolik paměti je k dispozici pro spouštění nových aplikací bez výměny. Na rozdíl od dat poskytovaných mezipamětí nebo volnými poli, toto pole bere v úvahu mezipaměť stránek a také to, že ne všechny obnovitelné paměťové slaby budou získány zpět kvůli používání položek (MemAvailable v /proc/meminfo, dostupné v jádrech 3.14, emulované na jádra 2.6.27+, jinak stejné jako zdarma)
Příklad výstupu:
total used free shared buff/cache available Mem: 24512912 253112 23761468 41484 498332 23873560 Swap: 12387324 0 12387324TipVýchozí možnost zobrazuje paměť v KB (kilobajtech). Pro zobrazení v MB (megabajtech) použijte „free -m“.
2. Příkaz vmstat
vmstat hlásí informace o procesech, paměti, stránkování, blokových IO, pastech, discích a aktivitě procesoru. Ve výchozím nastavení se zobrazují následující informace:
Proces
r:Počet spustitelných procesů (běžících nebo čekajících na dobu běhu).
b:Počet procesů v nepřerušitelném spánku.
Paměť
swpd:množství použité virtuální paměti.
volné: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 mezipaměť.
inact:množství neaktivní paměti. (-možnost)
aktivní:množství aktivní paměti. (-možnost)
Vyměnit
si:Množství paměti odložené z disku (/s).
takže:Množství paměti odložené na disk (/s).
IO
bi:Bloky přijaté z blokového zařízení (bloky/bloky).
bo:Bloky odeslané na blokové zařízení (bloky/s).
Systém
in:Počet přerušení za sekundu, včetně hodin.
cs:Počet přepnutí kontextu za sekundu.
CPU
Toto jsou procenta celkového času CPU.
us:Čas strávený spouštěním nekernelového kódu. (uživatelský čas, včetně příjemného času)
sy:Čas strávený spouštěním kódu jádra. (systémový čas)
id:Čas strávený nečinností. Před Linuxem 2.5.41 to zahrnuje dobu čekání IO.
wa:Čas strávený čekáním na IO. Před Linuxem 2.5.41, součástí idle.
st:Čas ukradený z virtuálního stroje. Před Linuxem 2.6.11, neznámé.
Ukázkový výstup:
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 23760168 62096 438828 0 0 0 0 4 4 0 0 100 0 0
3. top příkaz
příkaz top se používá hlavně k zobrazení dynamického pohledu na běžící systém v reálném čase, zejména na linuxové procesy nebo vlákna, které jsou aktuálně spravovány linuxovým jádrem. Zobrazuje však také souhrnné informace o systému, včetně paměti RAM a volné a využité velikosti swapu.
Chcete-li ukončit hlavní program, stiskněte Ctrl + c , nebo jen q .
Příklad výstupu:
top - 09:55:34 up 20:23, 1 user, load average: 0.00, 0.01, 0.05 Tasks: 188 total, 2 running, 186 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 24512912 total, 23758072 free, 252420 used, 502420 buff/cache KiB Swap: 12387324 total, 12387324 free, 0 used. 23873892 avail Mem
4. /proc/meminfo
Jak můžete vidět z příkazů výše, většina nástrojů spoléhá na /proc/meminfo, aby hlásily množství volné a použité paměti a odkládacího prostoru v systému. /proc/meminfo je virtuální soubor, který obsahuje dynamické statistiky o využití paměti jádrem a systémem.
Chcete-li zobrazit obsah /proc/meminfo, použijte kterýkoli z následujících příkazů a jakýkoli jiný, který preferujete:
cat /proc/meminfo more /proc/meminfo less /proc/meminfo
5. nahoře Command
atop je interaktivní monitor pro zobrazení zátěže v systému Linux, který je podobný top. Ukazuje obsazení nejkritičtějších hardwarových zdrojů (z hlediska výkonu) na systémové úrovni, tj. CPU, paměť, disk a síť. atop není ve výchozím nastavení na většině distribucí Linuxu nainstalován, takže pokud jej chcete používat, musíte jej nainstalovat ručně.
6. příkaz htop
htop je interaktivní prohlížeč procesů pro unixové systémy, který je podobný top, ale poskytuje podrobnější informace. Je to aplikace v textovém režimu (pro konzole nebo X terminály) a vyžaduje ncurses. htop není ve výchozím nastavení na většině distribucí Linuxu nainstalován, takže pokud jej chcete používat, musíte htop nainstalovat ručně.
Informace o fyzické paměti RAM
Pokud se chcete dozvědět více o fyzických modulech RAM DIMM nainstalovaných v systému, použijte dmidecode (DMI Table Decoder), nástroj pro ukládání obsahu tabulky DMI (nebo SMBIOS) počítače do formátu čitelného člověkem. Tato tabulka obsahuje popis hardwarových součástí systému a také další užitečné informace, jako jsou sériová čísla a revize systému BIOS.
Chcete-li použít dmidecode k zobrazení fyzických modulů RAM, použijte jeden z následujících příkazů:
$sudo dmidecode --type memory $ sudo dmidecode -t 17
Ukázkový výstup:
# dmidecode 3.0 Scanning /dev/mem for entry point. SMBIOS 2.6 present. Handle 0x001C, DMI type 17, 28 bytes Memory Device Array Handle: 0x001A Error Information Handle: Not Provided Total Width: 72 bits Data Width: 64 bits Size: 4096 MB Form Factor: DIMM Set: None Locator: CPU0 Bank Locator: DIMM01 Type: Other Type Detail: Other Speed: 1066 MHz Manufacturer: Samsung Serial Number: 88XX8X88 Asset Tag: AssetTagNum01 Part Number: M888MXXXXMM8-MM8 Rank: Unknown