logo

Vymazat mezipaměť Linuxu

V tomto tutoriálu se naučíme, jak vymazat mezipaměť RAM v Linuxu a vyčistit odkládací prostor.

Stejně jako všechny ostatní operační systémy má i GNU/Linux implementovaný systém správy paměti. I když je správa paměti v Linuxu mnohem efektivní a dokonce i hodně používaná než jiné operační systémy. Nicméně v některých případech, kdy chcete řídit správu paměti nebo pokud existuje jeden nebo více procesů, které spotřebovávají RAM vašeho systému. V takovém případě to chceme zastavit; Linux poskytuje několik způsobů, jak vyprázdnit (vymazat mezipaměť RAM).

Vymazat mezipaměť Linuxu

Jak vymazat mezipaměť v Linuxu?

Téměř v každém systému Linux existují tři způsoby, jak vymazat mezipaměť. Některé z nich lze pozoruhodně využít bez přerušení probíhajících procesů nebo služeb. Tři způsoby jsou následující:

  1. Vymazat pouze PageCache
  2. Vyčistěte dentry a inody
  3. Vymazat dentry a inody, vymazat PageCache

Všechny tři metody si podrobně probereme a uvidíme také jejich praktickou implementaci:

1. Vymažte pouze PageCache-

Tato metoda je jedním z nejbezpečnějších způsobů, jak vyčistit mezipaměť Linuxu, protože může vymazat mezipaměť bez ukončení probíhajících operací, aplikací a služeb. Říká se, že je to nejbezpečnější způsob čištění mezipaměti, protože se dá použít v produkci a čistí pouze PageCache. V této metodě se používají následující příkazy:

Příkaz

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

Vysvětlení:

Ve výše uvedeném příkazu je ' synchronizace ' se používá k vyprázdnění vyrovnávací paměti systému souborů a příkaz je oddělen pomocí ' ; ' provedeny sekvenčním způsobem.

0,04 jako zlomek

Shell však čeká na provedení nebo ukončení každého příkazu před zahájením provádění dalšího příkazu dostupného v sekvenci.

The drop_caches se používají k vyprázdnění nebo vyčištění mezipaměti bez zabití nebo ovlivnění jakékoli jiné spuštěné aplikace nebo služby, jak je také jasně uvedeno v dokumentaci jádra. ' echo ' příkaz provádí práci zápisu do souborů.

Kroky k vymazání PageCache pomocí Terminálu:

Krok 1 - Otevřete Terminál v Linuxu a zadejte následující příkaz a stiskněte Enter. Po provedení příkazu se zobrazí informace o paměti systému, jak je znázorněno v příkladu:

Příkaz

 free 

Výše uvedený příkaz se používá k zobrazení množství využité paměti a zobrazení dalších faktorů, jako je celková dostupná paměť, odkládací paměť atd. Můžeme použít tento ' volný, uvolnit ' příkaz těsně před a po při použití každé metody.

Před a po provedení vlastního příkazu je nutné použít příkaz 'free', abychom mohli snadno vidět nebo detekovat změny v alokaci paměti. Podívejte se na příklad, abyste pochopili, jak celý proces ve skutečnosti funguje:

Příklad

Vymazat mezipaměť Linuxu

2. Vyčistěte dentry a inody-

Tato metoda se používá k vymazání paměti zubů a inodů. Je to stejné jako první metoda, ale mírně se liší, protože se používá k vymazání paměti zubů a inodů namísto vymazání paměti PageCache. Přesto je to velmi podobné prvnímu způsobu, o kterém jsme hovořili výše. Příkaz použitý v této metodě je uveden níže:

Příkaz

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

Podívejme se na příklad, abychom pochopili, jak tuto metodu implementovat:

Příklad

Vymazat mezipaměť Linuxu

3. Vymažte dentry a inody, vymažte PageCache

Je to jedna z nejúčinnějších metod. Tradičně se však nedoporučuje používat, dokud nevíte, co děláte, protože použití není považováno za nejbezpečnější, zejména ve výrobě. Příkaz použitý v této metodě používá 'echo 3 >', který současně čistí PageCache, dentry a inody.

Příkaz:

 # sync ; echo 3 > / porc / sys / vm / drop_caches 

Chcete-li podrobněji porozumět tomu, jak to vlastně funguje, zvažte uvedený příklad:

Příklad:

Vymazat mezipaměť Linuxu

Poznámka: Nedoporučuje se jej používat ve výrobě, pokud nevíte, co děláte, protože okamžitě vyčistí PageCache a dentry, také inody, jak jsme již probrali výše.

Vyměňte prostor

Obecně se swapovací prostor používá, když je využití fyzické paměti téměř na svém vrcholu. Pokud tedy systém potřebuje více paměťových prostředků a fyzická paměť RAM se zaplní, všechny neaktivní stránky se přenesou do prostoru odkládací paměti.

Nicméně, odkládací paměť také pomáhá systému jako malé, ale efektivní množství Ram. Přesto se nepochybně nedoporučuje považovat Swap Space za fyzického berana.

Jak vyčistit swapovací prostor v Linuxu?

Chcete-li vymazat swapovou paměť ve vašem systému, musíte jednoduše vypnout swap. Tím přesunete všechna data z odkládací paměti zpět do RAM. Znamená to také, že si musíte být jisti, že máte v systému dostatek paměti RAM pro podporu této operace.

Snadný způsob, jak to udělat, je spustit 'free-m' Chcete-li zjistit, co se používá ve swapu, RAM, a pak deaktivovat výměnu.

Jakmile jej vypnete, měli byste počkat 30 sekund nebo více, aby se operace dokončila, a poté Swap znovu zapnout. Tím se vymaže mezipaměť odkládací paměti a znovu se povolí, ale před vymazáním swapu byste měli vidět aktuální (nebo výchozí) nastavení vašeho systému.

Chcete-li vidět aktuální nastavení swappiness vašeho systému, stačí otevřít terminál pomocí následujícího příkazu, jak je uvedeno ve výstupu:

 cat /proc/sys/vm/swappiness 

Výstup

Vymazat mezipaměť Linuxu

Jak můžete vidět, současná hodnota swappiness našeho systému je '60' sekund. Pokud ji však chcete změnit, můžete ji nastavit kdekoli mezi 0 a 100. Proces úpravy (aktualizace) této hodnoty je poměrně jednoduchý. Vše, musíte do terminálu zadat následující příkaz a stisknout enter:

Příkaz:

 sudo sysctl vm.swappiness=x 

(Tady x je swapová hodnota, kterou chceme nastavit)

Jak můžete vidět na výše uvedeném výstupu, aktuální swapová hodnota našeho systému (nebo výchozí hodnota) je 60. Zkusme změnit hodnotu swapu na 40.

1. Otevřete Terminál stisknutím tlačítka Ctrl+Alt+T na Klávesnici.

Vymazat mezipaměť Linuxu

2. Jakmile se terminál otevře, zadejte následující příkaz a stiskněte enter, jak je znázorněno na obrázku níže:

 sudo sysctl vm.swappiness=40 

Výstup

Vymazat mezipaměť Linuxu

Poznámka: Může vás požádat o zadání hesla, protože potřebujeme spustit tento příkaz s oprávněními superUser (uživatel root).

Ověření

Chcete-li ověřit, že hodnota swapu byla úspěšně aktualizována, zadejte následující příkaz a stiskněte tlačítko Enter:

 cat /proc/sys/vm/swappiness 

Výstup

Vymazat mezipaměť Linuxu

Jak můžete vidět ve výstupu, úspěšně jsme aktualizovali hodnotu swapu na 40.

Vymazat swap Space

Chcete-li vyčistit swapovací prostor, proces je poměrně jednoduchý, protože to prostě potřebujeme cyklus vypnout Swap, díky kterému jsou všechna data nebo neaktivní stránky přeneseny zpět do RAM z prostoru Swap paměti. Jakmile swap vypnete, musíte počkat 30 sekund a je třeba restartovat nebo znovu zacyklit na odkládacím prostoru.

mycricketlive

Užitečné příkazy:

Toto jsou některé základní příkazy, které nám pomohou při čištění swapového prostoru:

Vymazat mezipaměť Linuxu

Kroky k vymazání Swap Memory

Podívejme se, jak použít tyto příkazy k vyčištění odkládacího prostoru nebo paměti:

Krok 1. Otevřete terminál stisknutím tlačítka ' Ctrl+Alt+T ' na klávesnici.

Krok 2. Jakmile se terminál otevře, zadejte „ sudo -i ' příkaz, protože můžeme vyžadovat privilegia superuživatele pro spuštění výše uvedených příkazů:

Vymazat mezipaměť Linuxu

Krok 3. Zadáním příkazu 'free -m' zobrazíte využití paměti dříve cyklus vypnout a Vyměňte :

Vymazat mezipaměť Linuxu

Krok - 4 Nyní zadejte „ Swapoff -a ' a stisknutím klávesy Enter vypněte výměnu, jak je znázorněno níže:

Vymazat mezipaměť Linuxu

Krok 5. Po cyklus vypnout , Swap čeká minimálně 40 sekund.

Krok 6. Nyní zadejte 'swap-a' a stisknutím klávesy Enter znovu povolte Swap. Chcete-li vidět rozdíl (nebo změnu) ve využití paměti, spusťte příkaz 'free-m' ještě jednou, jak je uvedeno níže:

Vymazat mezipaměť Linuxu

Doufejme, že vám to pomůže vyčistit odkládací paměť vašeho systému, pokud se někdy ocitnete v takové situaci.