Î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).
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ă:
- Ștergeți numai PageCache
- Dentari și inoduri clare
- Ș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
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
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:
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
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ă.
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
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
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:
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:
Pasul 3. Tastați comanda „free -m” pentru a vedea utilizarea memoriei înainte ciclu oprit cel Schimbați :
Pasul - 4 Acum, tastați „ Swapoff -a ' și apăsați Enter pentru a dezactiva comutarea, așa cum se arată mai jos:
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:
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.