logo

Ștergeți memoria cache Linux

În acest tutorial, vom învăța cum să ștergem memoria cache RAM în Linux și să curățăm spațiul de swap.

La fel ca toate celelalte sisteme de operare, GNU/Linux a implementat și un sistem de gestionare a memoriei. Deși, gestionarea memoriei Linux este mult eficientă și chiar mult folosită decât alte sisteme de operare. Cu toate acestea, în unele cazuri în care doriți să controlați gestionarea memoriei sau dacă există unul sau mai multe procese care consumă memoria RAM a sistemului. În acest caz, vrem să o oprim; Linux oferă câteva modalități de golire (șterge cache-ul ram).

Ștergeți memoria cache Linux

Cum să ștergeți memoria cache în Linux?

Aproape în fiecare sistem Linux, sunt furnizate trei metode pentru a șterge memoria cache. Unele dintre acestea pot fi utilizate în mod remarcabil fără a întrerupe niciun proces sau serviciu în curs. Cele trei moduri sunt după cum urmează:

  1. Ștergeți numai PageCache
  2. Dentari și inoduri clare
  3. Ștergeți dentirile și inodurile, ștergeți PageCache

Vom discuta toate cele trei metode în detaliu și vom vedea și implementarea lor practică:

1. Ștergeți numai PageCache-

Această metodă este una dintre cele mai sigure modalități de curățare a memoriei cache a Linux, deoarece poate șterge memoria cache fără a distruge operațiunile, aplicațiile și serviciile în curs. Se spune că acesta este cel mai sigur mod de a curăța cache-ul, deoarece poate fi folosit în producție și curățează doar PageCache-ul. În această metodă, sunt utilizate următoarele comenzi:

Comanda

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

Explicaţie:

În comanda de mai sus, „ sincronizare ' este folosit pentru a spăla buffer-ul sistemului de fișiere, iar comanda este separată folosind ' ; ' executat într-o manieră secvenţială.

Cu toate acestea, shell-ul așteaptă ca fiecare comandă să fie executată sau terminată înainte de a începe execuția următoarei comenzi disponibile în secvență.

The drop_caches sunt utilizate pentru spălarea sau curățarea cache-ului fără a ucide sau afecta orice altă aplicație sau servicii care rulează, așa cum este menționat în mod clar în Documentația Kernel. ' ecou comanda ' face sarcina de a scrie în fișiere.

Pași pentru a șterge pagina Cache folosind Terminal:

Pasul 1 - Deschideți Terminalul în Linux și tastați următoarea comandă dată și apăsați Enter. Odată ce comanda este executată, aceasta va afișa informații despre memoria sistemului, așa cum se arată în exemplu:

Comanda

 free 

Comanda de mai sus este folosită pentru a afișa cât de multă memorie este utilizată și pentru a afișa alți factori, cum ar fi memoria totală disponibilă, memoria de schimb etc. Putem folosi acest „ gratuit ' comanda chiar înainte și după în timp ce utilizați fiecare metodă.

Este necesar să folosim comanda „free” înainte și după executarea comenzii efective, astfel încât să putem vedea sau detecta cu ușurință modificările în alocarea memoriei. Să vedem un exemplu pentru a înțelege cum funcționează de fapt întregul proces:

Exemplu

Ștergeți memoria cache Linux

2. Dentari și inoduri clare-

Această metodă este folosită pentru a șterge memoria de denti și inoduri. Este la fel ca prima metodă, dar ușor diferită, deoarece este folosită pentru a șterge memoria dentirilor și inodurilor ambele în loc să ștergeți memoria PageCache. Totuși, seamănă mult cu prima metodă pe care am discutat-o ​​mai sus. Comanda folosită în această metodă este dată mai jos:

Comanda

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

Să vedem un exemplu pentru a înțelege cum să implementăm această metodă:

Exemplu

Ștergeți memoria cache Linux

3. Ștergeți dentirile și inodurile, ștergeți PageCache

Este una dintre cele mai eficiente metode. Cu toate acestea, în mod tradițional nu este recomandat să fie folosit până când nu știi ce faci, deoarece nu este considerat cel mai sigur de utilizat, mai ales în producție. Comanda utilizată în această metodă folosește „echo 3 >” care curățează PageCache, dentirile și inoduri în același timp.

Comanda:

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

Pentru a înțelege mai în detaliu cum funcționează de fapt, luați în considerare exemplul dat:

Exemplu:

Ștergeți memoria cache Linux

Notă: Nu este recomandat să-l utilizați în producție decât dacă știți ce faceți, deoarece va curăța instantaneu PageCache și dentry, de asemenea inode, așa cum am discutat deja mai sus.

Schimbați spațiu

În general, spațiul de schimb este utilizat atunci când utilizarea memoriei fizice este aproape la apogeu. Deci, când și dacă sistemul are nevoie de mai multe resurse de memorie și RAM-ul fizic se umple, toate paginile inactive sunt transferate în spațiul de memorie swap.

Cu toate acestea, spațiul de memorie swap ajută și sistemul ca o cantitate mică, dar eficientă de Ram. Totuși, fără îndoială, nu este recomandat să considerați Spațiul de Schimb drept Ramul fizic.

Cum să ștergeți spațiul de swap în Linux?

Pentru a șterge memoria de schimb de pe sistemul dvs., trebuie pur și simplu să opriți schimbarea. Aceasta va muta toate datele din memoria de schimb înapoi în RAM. De asemenea, înseamnă că trebuie să vă asigurați că aveți suficientă RAM în sistem pentru a suporta această operațiune.

O modalitate ușoară de a face acest lucru este să rulați 'liber-m' comandă pentru a vedea ce este folosit în Schimbare, RAM și apoi dezactivați Schimbarea.

Odată ce îl dezactivați, ar trebui să așteptați 30 de secunde sau mai mult pentru a lăsa ceva timp pentru finalizarea operațiunii, apoi să reporniți Swap-ul. Aceasta șterge memoria cache a memoriei de schimb și o reactivează, dar înainte de a șterge schimbarea, ar trebui să vedeți setarea curentă (sau implicită) a sistemului.

Pentru a vedea setarea curentă a schimbului sistemului dvs., trebuie doar să deschideți terminalul, utilizați următoarea comandă, așa cum se arată în rezultat:

 cat /proc/sys/vm/swappiness 

Ieșire

Ștergeți memoria cache Linux

După cum puteți vedea, valoarea actuală Swappiness a sistemului nostru este „60” de secunde. Cu toate acestea, dacă doriți să o schimbați, o puteți seta oriunde între 0 și 100. Procesul de editare (actualizare) a acestei valori este destul de simplu. Toate, trebuie să tastați următoarea comandă în Terminal și să apăsați Enter:

Comanda:

 sudo sysctl vm.swappiness=x 

(Aici x este valoarea de schimb pe care vrem să o setăm)

După cum puteți vedea în rezultatul de mai sus, valoarea actuală de swap a sistemului nostru (sau valoarea implicită) este 60. Să încercăm să schimbăm valoarea de swap la 40.

1. Deschideți terminalul apăsând butonul Ctrl+Alt+T pe tastatură.

Ștergeți memoria cache Linux

2. Odată ce terminalul este deschis, tastați următoarea comandă și apăsați enter, așa cum se arată în imaginea de mai jos:

 sudo sysctl vm.swappiness=40 

Ieșire

Ștergeți memoria cache Linux

Notă: Este posibil să vă solicite să introduceți parola, deoarece trebuie să rulăm această comandă cu privilegiile superUser (utilizator rădăcină).

Verificare

Pentru a verifica dacă valoarea de schimb este actualizată cu succes, tastați următoarea comandă și apăsați butonul Enter:

 cat /proc/sys/vm/swappiness 

Ieșire

Ștergeți memoria cache Linux

După cum puteți vedea în rezultat, am actualizat cu succes valoarea de swap la 40.

Ștergeți spațiul de schimb

Pentru a goli spațiul de schimb, procesul este destul de simplu, deoarece pur și simplu trebuie să facem acest lucru ciclu oprit Swap, datorită căruia toate datele sau paginile inactive sunt transferate înapoi în memoria RAM din spațiul de memorie Swap. Odată ce dezactivați schimbarea, trebuie să așteptați 30 de secunde și trebuie să reporniți sau să treceți din nou pe spațiul de schimb.

Comenzi utile:

Acestea sunt câteva comenzi de bază care ne vor ajuta să curățăm spațiul de schimb:

Ștergeți memoria cache Linux

Pași pentru ștergerea memoriei de schimb

defecțiune generală de protecție

Să vedem cum să folosim aceste comenzi pentru a șterge spațiul de schimb sau memoria:

Pasul 1. Deschideți terminalul apăsând butonul „ Ctrl+Alt+T ' pe tastatură.

Pasul 2. Odată ce terminalul se deschide, tastați „ sudo -i ' comanda pentru că este posibil să avem nevoie privilegii de superutilizator pentru a rula comenzile de mai sus:

Ștergeți memoria cache Linux

Pasul 3. Tastați comanda „free -m” pentru a vedea utilizarea memoriei înainte ciclu oprit cel Schimbați :

Ștergeți memoria cache Linux

Pasul - 4 Acum, tastați „ Swapoff -a ' și apăsați Enter pentru a dezactiva comutarea, așa cum se arată mai jos:

Ștergeți memoria cache Linux

Pasul 5. După ciclu oprit , Schimbarea așteaptă cel puțin 40 de secunde.

Pasul 6. Acum tastați „swap-a” și apăsați Enter pentru a reactiva Schimbarea. Pentru a vedea diferența (sau modificarea) în utilizarea memoriei, rulați comanda „free-m” încă o dată, după cum se arată mai jos:

Ștergeți memoria cache Linux

Sperăm că acest lucru vă va ajuta să ștergeți memoria de schimb a sistemului dacă vă aflați vreodată într-o astfel de situație.