Používáním tohoto webu souhlasíte s ukládáním cookies (více informací). Rozumím

← Zpět na všechny články blogu

RAM na Linuxu

  • David Janik
  • 23. 5. 2019
RAM na Linuxu

RAM na Linuxu

Do operační paměti si může server nebo aplikace ukládat data, ale pokud paměť dojde, tak server přejde k plánu B a začne tyto data ukládat na pevný disk (swap), který je mnohem pomalejší.

Je tedy důležité operační paměť pravidelně sledovat a v případě problému včas zakročit. U nás na serveru máte předinstalované s VPS Centrem dvě aplikace Munin a phpSysinfo, kde uvidíte statistiky ohledně RAM.

Pokud má server dostatek RAM, tak jí využívá k uchovávání cache, aby nemusel pokaždé načítat stejný soubor vícekrát. Pokud server restartujete, tak cache vyčistíte.

Ukazatel mezipaměti v aplikaci sysinfo

Image

VPS Centrum

Vyzkoušejte zdarma naši aplikaci pro správu serveru a domén. Budete si připadat jako zkušený administrátor.

Nebojte se, že cache si vezme všechny RAM prostředky, které na serveru máte. Využívá pouze nevyužitou paměť. Hlavní prioritu má samozřejmě jádro a aplikace a pokud by potřebovali víc paměti, tak mezipaměť jí uvolní.

Disk caching nelze vypnout, ale jediný důvod, proč to chtěl někdo vypnout byl, že nevěděl, jak to přesně funguje a že to má pouze samá pozitiva.

Příkazová řádka

Pomocí příkazu “free -g” uvidíte, kolik máte na serveru volné RAM v GB, kolik se jí využívá a uvidíte i velikost swapu.

Pokud uvidíte, že server spotřebovává 99% RAM, tak s největší pravděpodobností započítává cache jako “memory used” i když v případě potřeby se paměť dokáže uvolnit. (výborně zobrazuje využití RAMU právě aplikace z VPS Centra sysinfo)

Oblíbený příkaz na terminálu je HTOP.

Je to barevnější a promakanější verze příkazu “top”, vypíše všechny běžící a spící procesy.

Během chvíle, tak zjistíte momentální využití RAM, SWAPu nebo CPU. Hlavně ale uvidíte veškeré procesy a můžete si je po kliknutí v horní liště např. seřadit podle využití RAM nebo CPU.

Dokážete tak lépe určit, které procesy/aplikace požírají nejvíce z operační paměti a nechat si je seřadit od největších “požíračů”.

Výpis běžících procesů na serveru

Dole máte akční lištu a pomocí kláves F1 až F10 můžete provádět různé akce. Rozebereme si všechny.

F1 - Help

Zde najdete všechny informace k ostatním “F” a jak se v HTOP orientovat. Je to velice podobné Midnight Commanderu, kde můžete využívat šipky a myš.

F2 - Setup

Celý panel si můžete přizpůsobit a upravit podle sebe. Ať už se jedná o přidání či odebrání parametrů do sloupce anebo v jaké barvě se to má zobrazovat.

Celou tabulku si můžete přizpůsobit

F3 - Search

Napíšete jméno procesu, který hledáte a ten se žlutě zvýrazní a pomocí klávesy F3 přeskočíte na další stejnojmenný proces.

F4 - Filter

Má stejnou funkci jako “Search”, ale místo zvýraznění jednotlivého procesu všechny se stejným názvem vyfiltruje, takže vidíte pouze tyto procesy.

F5 - Tree

Velice užitečná funkce se skrývá pod klávesou F5, která všechny procesy rozvětví podle toho, jak jsou na sobě vázaný. Pomocí F5 vrátíte procesy do původního stavu.

F6 - SortBy

Můžete si všechny procesy seřadit podle toho, jak využívají CPU, RAM anebo podle uživatele či priority.

F7 - Nice- F8 - Nice+

Po kliknutí na jednotlivý proces můžete pomocí klávesnice F7 snížit o jeden bod prioritu anebo pomocí F8 naopak navýšit.

F9 - Kill

Pokud proces zlobí anebo bere dost prostředků, tak po vybrání procesu a stisknutí F9 můžete procesu vyslat signál, kterým ho ukončíte. Jedná se o signal 15 - SIGTERM anebo 9 - SIGKILL.

A nakonec pomocí klávesnice F10 htop ukončíte.

Munin

Dobré je mít přehled i o dlouhodobé výkonnosti RAM a CPU. Na našich serverech s VPS Centrem máte předinstalovaný monitorovací nástroj Munin, který právě s tímhle problémem pomůže.

Už jsme o něm několikrát psali, ale opakování je matka moudrosti. :-)

Na screenshotu uvidíte využití RAM ve všech intervalech.

Vytížení RAM v Muninu

Největší výhoda je, že si můžete grafy zobrazit v denním, týdenním anebo ročním rozsahu. Zjistíte tak, kdy se začala zvětšovat zátěž a lépe identifikujete problém.

Takhle vypadá zobrazení CPU.

Vytížení CPU v Muninu

Kdy začíná problém?

Nejdříve se podíváme, jak může vypadat zdravý linux systém i když se to na první pohled nemusí zdát.

  • free - je blízko 0
  • used - je blízko k total
  • available - (taky free + buffers/cache) má dostatek místa ( dohromady +20%)
  • swap used - nemění se

Příkaz: free G

Varovné signály, které způsobují problém z pamětí:

  • available (free + buffers/cache) - je blízko 0
  • swap used - začíná se zvětšovat
  • dmsg | grep oom-killer - ukončí “zabijaka” paměti

Jak promazat cache a SWAP v Linuxu?

Linux nám dává možnost nechat promazat cache i SWAP, tak se ně pojďme podívat.

SWAP

Pokud systém uloží něco do SWAPU, tak se systém stává strašně pomalým a jakmile vyřešíte problém s nedostatkem RAM, tak můžete pročistit SWAP pomocí:

swapoff -a && swapon -a

A během pár vteřin je uložená paměť pryč.

Cache

PageCache only

tento příkaz pročistí na disku PageCache only bez toho aniž, by ohrozil aplikace nebo služby.

sync; echo 1 > /proc/sys/vm/drop_caches

Jakmile cache pročistíte, tak na pár vteřin se server zpomalí a následně všechny další dotazy půjdou už přímo na disk.

Ramdisk

Můžeme si vytvořit i tzv. RAMDISK neboli složku do které můžeme ukládat často používané soubory.

Vytvoříme složku.

mkdir /mnt/ramdisk

Pomocí příkazu “mount” vytvoříme ramdisk.

mount -t (TYPE) -o size=(SIZE) (FSTYPE) (MOUNTPOINT)

vysvětlení atributu:

(TYPE) - je typ, který využijeme pro RAM disk. Buď tmpfs or ramfs

(SIZE) - velikost, kterou bude ramdisk mít.

(FSTYPE) - file storage kterou bude RAM disk používat. Buď tmpfs, ramfs, ext4 apod.

Konkrétní příklad:

mount -t tmpfs -o size=512m tmpfs /mnt/ramdisk

Jsem tedy můžete ukládat soubory, které se často používají. Nejlepším kandidátem může být složka cache ve WP, nebo složka se sessions. Záleží opravdu případ od případu, co se vám bude hodit nejvíce. Nezapomeňte, že každý soubor zde zabere 4kB a je nutné se pak zamyslet nad pravidelném čištění, nejlépe pomocí aut. skriptu.

Na našich serverech máte podobný skript připravený po přihlášení na SSH ve složce /bin/php_sessions_clean.sh

Pokud vás zajímá tahle problematika více můžete ještě experimentovat a ověřit si nabité know-how na vlastním serveru.

Vyzkoušet zdarma VPS

Zdroje

Hledáte něco?

Volejte +420 776 133 789 nebo pište

© 2019 Váš Hosting s.r.o.