logo

Vymazať vyrovnávaciu pamäť systému Linux

V tomto návode sa naučíme, ako vyčistiť vyrovnávaciu pamäť RAM v systéme Linux a vyčistiť priestor na swap.

Rovnako ako všetky ostatné operačné systémy, aj GNU/Linux má implementovaný systém správy pamäte. Správa pamäte v Linuxe je však oveľa efektívnejšia a dokonca oveľa používanejšia ako iné operačné systémy. Avšak v niektorých prípadoch, keď chcete ovládať správu pamäte alebo ak existuje jeden alebo viac procesov, ktoré zaberajú RAM vášho systému. V takom prípade to chceme zastaviť; Linux poskytuje niekoľko spôsobov vyprázdnenia (vymazanie vyrovnávacej pamäte RAM).

Vymazať vyrovnávaciu pamäť systému Linux

Ako vymazať vyrovnávaciu pamäť v systéme Linux?

Takmer v každom systéme Linux existujú tri spôsoby vymazania vyrovnávacej pamäte. Niektoré z nich možno pozoruhodne použiť bez prerušenia prebiehajúcich procesov alebo služieb. Tri spôsoby sú nasledovné:

  1. Vymazať iba PageCache
  2. Vyčistite dentry a inody
  3. Vymazať dentry a inody, vymazať PageCache

Všetky tri metódy si podrobne rozoberieme a uvidíme aj ich praktickú implementáciu:

1. Vymazať iba PageCache-

Táto metóda je jedným z najbezpečnejších spôsobov čistenia vyrovnávacej pamäte systému Linux, pretože môže vymazať vyrovnávaciu pamäť bez toho, aby zabila akékoľvek prebiehajúce operácie, aplikácie a služby. Hovorí sa, že je to najbezpečnejší spôsob čistenia vyrovnávacej pamäte, pretože sa dá použiť v produkcii a čistí iba PageCache. V tejto metóde sa používajú nasledujúce príkazy:

Príkaz

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

Vysvetlenie:

Vo vyššie uvedenom príkaze „ synchronizácia ' sa používa na vyprázdnenie vyrovnávacej pamäte súborového systému a príkaz je oddelený pomocou ' ; “ vykonávané sekvenčným spôsobom.

Shell však čaká na vykonanie alebo ukončenie každého príkazu pred spustením ďalšieho príkazu dostupného v poradí.

The drop_caches sa používajú na vyprázdnenie alebo vyčistenie vyrovnávacej pamäte bez zabitia alebo ovplyvnenia akejkoľvek inej spustenej aplikácie alebo služby, ako je to tiež jasne uvedené v dokumentácii k jadru. ' ozvena ' príkaz vykonáva prácu pri zapisovaní do súborov.

Kroky na vymazanie PageCache pomocou terminálu:

Krok 1 - Otvorte terminál v systéme Linux a zadajte nasledujúci príkaz a stlačte kláves Enter. Po vykonaní príkazu sa zobrazia informácie o pamäti systému, ako je znázornené v príklade:

Príkaz

 free 

Vyššie uvedený príkaz sa používa na zobrazenie množstva využívanej pamäte a zobrazenie ďalších faktorov, ako je celková dostupná pamäť, odkladacia pamäť atď. Môžeme použiť toto ' zadarmo ' príkaz tesne pred a po pri použití každej metódy.

Pred a po vykonaní skutočného príkazu je potrebné použiť príkaz 'free', aby sme mohli ľahko vidieť alebo zistiť zmeny v prideľovaní pamäte. Pozrime sa na príklad, aby sme pochopili, ako celý proces v skutočnosti funguje:

Príklad

Vymazať vyrovnávaciu pamäť systému Linux

2. Vyčistite dentry a inody-

Táto metóda sa používa na vyčistenie pamäte od dentistov a inódov. Je to rovnako ako prvá metóda, ale mierne odlišná, pretože sa používa na vymazanie pamäte zubov a inódov namiesto vymazania pamäte PageCache. Napriek tomu je to veľmi podobné prvej metóde, o ktorej sme hovorili vyššie. Príkaz použitý v tejto metóde je uvedený nižšie:

Príkaz

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

Pozrime sa na príklad, aby sme pochopili, ako implementovať túto metódu:

Príklad

Vymazať vyrovnávaciu pamäť systému Linux

3. Vyčistite dentry a inody, vymažte PageCache

Je to jedna z najúčinnejších metód. Napriek tomu sa tradične neodporúča používať, kým neviete, čo robíte, pretože sa nepovažuje za najbezpečnejšie použitie, najmä vo výrobe. Príkaz použitý v tejto metóde používa 'echo 3 >', ktorý súčasne čistí PageCache, dentry a inody.

príkaz:

Java programovanie prvočísel
 # sync ; echo 3 > / porc / sys / vm / drop_caches 

Ak chcete podrobnejšie pochopiť, ako to vlastne funguje, zvážte uvedený príklad:

Príklad:

Vymazať vyrovnávaciu pamäť systému Linux

Poznámka: Neodporúča sa používať ho v produkcii, pokiaľ neviete, čo robíte, pretože okamžite vyčistí PageCache a zubné otvory, aj inody, ako sme už diskutovali vyššie.

Vymeňte priestor

Vo všeobecnosti sa odkladací priestor používa, keď je využitie fyzickej pamäte takmer na vrchole. Takže keď a ak systém potrebuje viac pamäťových prostriedkov a fyzická pamäť RAM sa zaplní, všetky neaktívne stránky sa prenesú do priestoru swap pamäte.

Swap pamäťový priestor však tiež pomáha systému ako malé, ale efektívne množstvo Ram. Napriek tomu sa nepochybne neodporúča považovať Swap Space za fyzického barana.

Ako vyčistiť swapový priestor v Linuxe?

Ak chcete vymazať swap pamäť vo vašom systéme, musíte jednoducho vypnúť swap. Tým sa presunú všetky dáta z odkladacej pamäte späť do RAM. Znamená to tiež, že si musíte byť istí, že máte v systéme dostatok pamäte RAM na podporu tejto operácie.

Jednoduchý spôsob, ako to urobiť, je spustiť 'free-m' príkaz, aby ste videli, čo sa používa v Swap, RAM a potom deaktivujte Swap.

Keď ho vypnete, mali by ste počkať 30 sekúnd alebo viac, aby ste nechali nejaký čas na dokončenie operácie, a potom Swap znova zapnite. Toto vymaže vyrovnávaciu pamäť odkladacej pamäte a znova ju povolí, ale pred vymazaním výmeny by ste mali vidieť aktuálne (alebo predvolené) nastavenie vášho systému.

Ak chcete vidieť aktuálne nastavenie výmeny vášho systému, stačí otvoriť terminál pomocou nasledujúceho príkazu, ako je uvedené vo výstupe:

 cat /proc/sys/vm/swappiness 

Výkon

Vymazať vyrovnávaciu pamäť systému Linux

Ako vidíte, aktuálna hodnota swappiness nášho systému je '60' sekúnd. Ak ju však chcete zmeniť, môžete ju nastaviť kdekoľvek medzi 0 a 100. Proces úpravy (aktualizácie) tejto hodnoty je pomerne jednoduchý. Všetko, musíte do terminálu zadať nasledujúci príkaz a stlačiť Enter:

príkaz:

 sudo sysctl vm.swappiness=x 

(Tu x je swapová hodnota, ktorú chceme nastaviť)

Ako môžete vidieť vo vyššie uvedenom výstupe, aktuálna hodnota swapu nášho systému (alebo predvolená hodnota) je 60. Skúsme zmeniť hodnotu swapu na 40.

1. Otvorte terminál stlačením tlačidla Ctrl+Alt+T na Klávesnici.

Vymazať vyrovnávaciu pamäť systému Linux

2. Po otvorení terminálu zadajte nasledujúci príkaz a stlačte kláves enter, ako je znázornené na obrázku nižšie:

 sudo sysctl vm.swappiness=40 

Výkon

Vymazať vyrovnávaciu pamäť systému Linux

Poznámka: Môže vás požiadať o zadanie hesla, pretože tento príkaz potrebujeme spustiť s oprávneniami superužívateľa (užívateľ root).

Overenie

Ak chcete overiť, či je hodnota swapu úspešne aktualizovaná, zadajte nasledujúci príkaz a stlačte tlačidlo Enter:

 cat /proc/sys/vm/swappiness 

Výkon

Vymazať vyrovnávaciu pamäť systému Linux

Ako môžete vidieť vo výstupe, úspešne sme aktualizovali hodnotu swapu na 40.

Vymazať priestor na výmenu

Ak chcete vyčistiť swap priestor, proces je pomerne jednoduchý, pretože to jednoducho potrebujeme cyklovať Swap, vďaka ktorému sa všetky dáta alebo neaktívne stránky prenesú späť do RAM z priestoru Swap pamäte. Po vypnutí swapu musíte počkať 30 sekúnd a potom ho musíte reštartovať alebo znova cyklovať na swapovom priestore.

Užitočné príkazy:

Toto je niekoľko základných príkazov, ktoré nám pomôžu pri čistení priestoru na výmenu:

Vymazať vyrovnávaciu pamäť systému Linux

Kroky na vymazanie swap pamäte

Pozrime sa, ako použiť tieto príkazy na vymazanie swapovacieho priestoru alebo pamäte:

Krok 1. Otvorte terminál stlačením tlačidla ' Ctrl+Alt+T “ na klávesnici.

Krok 2. Po otvorení terminálu zadajte „ sudo -i ' príkaz, pretože môžeme požadovať privilégiá superužívateľa na spustenie vyššie uvedených príkazov:

Vymazať vyrovnávaciu pamäť systému Linux

Krok 3. Zadajte príkaz 'free -m', aby ste videli, aké využitie pamäte bolo predtým cyklovať na Vymeňte :

Vymazať vyrovnávaciu pamäť systému Linux

Krok - 4 Teraz zadajte „ Swapoff -a a stlačením klávesu Enter prerušte výmenu, ako je znázornené nižšie:

Vymazať vyrovnávaciu pamäť systému Linux

Krok 5. Po cyklovať , Výmena čaká minimálne 40 sekúnd.

Krok 6. Teraz napíšte „swap-a“ a stlačením klávesu Enter znova povoľte funkciu Swap. Ak chcete vidieť rozdiel (alebo zmenu) vo využití pamäte, spustite príkaz „free-m“ ešte raz, ako je uvedené nižšie:

Vymazať vyrovnávaciu pamäť systému Linux

Dúfajme, že vám to pomôže vyčistiť swapovú pamäť vášho systému, ak sa niekedy ocitnete v takejto situácii.