Vyhledávání na webu

Jak vymazat mezipaměť RAM, vyrovnávací paměť a výměnu v systému Linux


Jako každý jiný operační systém i GNU/Linux implementoval správu paměti efektivně a ještě více. Pokud však nějaký proces spotřebovává vaši paměť a chcete ji vyčistit, Linux poskytuje způsob, jak vyprázdnit nebo vymazat mezipaměť RAM.

V tomto článku prozkoumáme, jak vymazat mezipaměť RAM, vyrovnávací paměť a odkládací prostor v systému Linux, aby se zvýšil celkový výkon.

Porozumění mezipaměti paměti RAM, vyrovnávací paměti a odkládacímu prostoru

Pojďme prozkoumat mezipaměť RAM, vyrovnávací paměť a odkládací prostor v systému Linux.

Mezipaměť RAM

Paměť RAM je mechanismus používaný jádrem k uchovávání pravidelně přistupovaných dat. Zatímco to zvyšuje odezvu systému, přetížená mezipaměť může vést k uchování zastaralých dat, což má vliv na výkon.

Buffer

Stejně jako mezipaměť uchovává vyrovnávací paměť data dočasně, ale liší se svým účelem. Vyrovnávací paměti ukládají data přenášená mezi součástmi, jako je CPU a pevný disk, což usnadňuje hladkou komunikaci. Nadbytek dat ve vyrovnávací paměti však může brzdit rychlost systému.

Vyměňte prostor

Odkládací prostor je přidělená oblast na pevném disku, která funguje jako virtuální paměť, když je fyzická paměť RAM vyčerpána. Zabraňuje sice pádům systému kvůli nedostatku paměti, ale při nadměrném používání může systém zpomalit.

Vymazání mezipaměti, vyrovnávací paměti a swapového prostoru v Linuxu

V určitých situacích může být nutné vymazat mezipaměť, vyrovnávací paměť nebo odkládací prostor, jak je vysvětleno níže.

Jak vymazat mezipaměť RAM v Linuxu?

Každý systém Linux má tři možnosti, jak vymazat mezipaměť bez přerušení jakýchkoli procesů nebo služeb.

Vymazání PageCache

1. Chcete-li vymazat pouze PageCache, můžete použít následující příkaz, který konkrétně vymaže PageCache a pomůže uvolnit paměťové zdroje.

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

Čištění dentrie a inodů

2. Chcete-li vymazat pouze dentries a inodes, můžete použít následující příkaz, který synchronizuje souborový systém a vymaže jak dentry, tak inody, zlepšení výkonu systému uvolněním informací o adresářích a inodech uložených v mezipaměti.

sudo sync; echo 2 > /proc/sys/vm/drop_caches

Vymazání PageCache, Dentries a Inodes

3. Chcete-li vymazat pagecache, dentries a inodes, můžete použít následující příkaz, který provede synchronizaci souborový systém a vymazat mezipaměť stránek, dentry a inody, což pomůže uvolnit paměť a zlepšit výkon systému.

sudo sync; echo 3 > /proc/sys/vm/drop_caches 

Zde je vysvětlení každé části výše uvedeného příkazu:

  • sudo se používá k provedení příkazu jako superuživatel.
  • synchronizace vyprázdní vyrovnávací paměť systému souborů.
  • “; ” středník se používá k oddělení více příkazů na jednom řádku.
  • Příkaz echo 3 > /proc/sys/vm/drop_caches se používá k odstranění mezipaměti stránek, dočasného úložiště pro soubory, ke kterým se nedávno přistupovalo.

Poznámka: Soubor drop_caches určuje, který typ dat uložených v mezipaměti se má vymazat, a hodnoty jsou následující:

  • 1 – Vymaže pouze mezipaměť stránky.
  • 2 – Vymaže dentry a inody.
  • 3 – Vymaže mezipaměť stránky, dentry a inody.

Jak je zmíněno v dokumentaci jádra, zápis do drop_caches vyčistí mezipaměť bez zabití jakékoli aplikace/služby, příkaz echo provádí zápis do souboru.

Pokud musíte vymazat mezipaměť disku, první příkaz je nejbezpečnější v podniku a produkci jako “...echo 1 > …. ” vymaže pouze PageCache.

Nedoporučuje se používat třetí možnost výše “...echo 3 > “ ve výrobě, dokud nevíte, co děláte, protože vymaže pagecache, dentries a inody.

Jak vyčistit swapovací prostor v Linuxu?

Chcete-li uvolnit odkládací prostor, můžete použít příkaz swapoff s volbou -a, která zakáže všechny odkládací oddíly.

sudo swapoff -a

Poté jej vraťte zpět spuštěním následujícího příkazu, který aktivuje všechny odkládací oddíly.

sudo swapon -a

Je vhodné zdarma vyrovnávací paměť, mezipaměť a swap v Linuxu?

Obecně není dobrý nápad ručně uvolňovat Buffer a Cache v Linuxu, které by mohly být používány linuxovým jádrem, které je navrženo pro efektivní správu těchto zdrojů, a jejich ruční vymazání může narušit výkon systému.

Může však nastat vzácná situace, kdy budete muset vymazat Vyrovnávací paměť a Cache, například když pociťujete silný tlak na paměť a nemůžete paměť uvolnit jinými prostředky. V těchto případech byste měli postupovat opatrně a být si vědomi možného dopadu na výkon.

Podobně čištění odkládacího prostoru v Linuxu obecně není za normálních okolností rutinou ani doporučenou praxí.

Automatizace optimalizace paměti

Chcete-li proces automatizovat a pravidelně čistit paměť, můžete nastavit úlohu cron pro spouštění příkazů v určených intervalech.

Otevřete konfiguraci crontab.

crontab -e

Chcete-li denně o půlnoci vymazat mezipaměť, vyrovnávací paměť a odkládací prostor, přidejte následující řádky:

0 0 * * * sudo sync; echo 3 > /proc/sys/vm/drop_caches
0 0 * * * sudo echo 1 > /proc/sys/vm/drop_caches
0 0 * * * sudo sync; echo 2 > /proc/sys/vm/drop_caches
0 0 * * * sudo swapoff -a && sudo swapon -a

Další informace o plánování úlohy pomocí cronu naleznete v našem článku s názvem „11 úloh plánování úlohy Cron“.

Je vhodné vymazat mezipaměť RAM na produkčním serveru Linux?

Ne to není. Zvažte scénář, kdy jste naplánovali skript pro vymazání mezipaměti RAM každý den ve 2 hodiny ráno. Každý den ve 2 hodiny ráno se skript spustí a vyprázdní mezipaměť RAM. Jednoho dne je však na vašem webu nečekaně vysoký počet uživatelů online, což klade značné nároky na zdroje vašeho serveru.

Současně se spustí naplánovaný skript a vymaže vše v mezipaměti. Nyní všichni uživatelé načítají data z disku, což může vést k havárii serveru a poškození databáze. Proto je nezbytné vymazat mezipaměť RAM pouze v případě potřeby a mít na paměti své akce. Jinak riskujete, že se stanete správcem systému Cargo Cult.

Závěr

Efektivní správa paměti je zásadní pro bezproblémový chod systému Linux. Pravidelné vymazávání mezipaměti RAM, vyrovnávací paměti a odkládacího prostoru může výrazně zvýšit výkon systému. Pochopením těchto mechanismů a používáním poskytnutých příkazů můžete udržet svůj systém Linux v nejlepším chodu.

To je prozatím vše. Pokud se vám článek líbil, nezapomeňte se podělit o své cenné připomínky v komentářích. Sdělte nám svůj názor na to, co považujete za dobrý přístup k vymazání mezipaměti a vyrovnávací paměti RAM v produkčním a podnikovém prostředí.