logo

Esborra la memòria cau Linux

En aquest tutorial, aprendrem a esborrar la memòria cau RAM a Linux i netejar l'espai d'intercanvi.

mvc amb java

Igual que tots els altres sistemes operatius, GNU/Linux també ha implementat un sistema de gestió de memòria. Tot i que, la gestió de la memòria de Linux és molt eficient i fins i tot molt utilitzada que altres sistemes operatius. Tanmateix, en alguns casos en què voleu controlar la gestió de la memòria o si hi ha un o més processos que consumeixen la memòria RAM del vostre sistema. En aquest cas, volem aturar-ho; Linux ofereix poques maneres d'esborrar (esborrar la memòria cau de RAM).

Esborra la memòria cau Linux

Com esborrar la memòria cau a Linux?

Gairebé a tots els sistemes Linux, es proporcionen tres mètodes per esborrar la memòria cau. Alguns d'ells es poden utilitzar de manera notable sense interrompre cap procés o servei en curs. Les tres maneres són les següents:

  1. Esborra només la memòria cau de pàgina
  2. Dentadures i inodes clars
  3. Esborra les entrades i els inodes, esborra la memòria cau de la pàgina

Analitzarem els tres mètodes en detall i veurem també la seva implementació pràctica:

1. Esborra només PageCache-

Aquest mètode és una de les maneres més segures de netejar la memòria cau de Linux perquè pot esborrar la memòria cau sense matar cap operació, aplicació i servei en curs. Es diu que aquesta és la manera més segura de netejar la memòria cau, ja que es pot utilitzar en producció, i només neteja la memòria cau. En aquest mètode, s'utilitzen les ordres següents:

Comandament

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

Explicació:

A l'ordre anterior, el ' sincronitzar ' s'utilitza per esborrar la memòria intermèdia del sistema de fitxers i l'ordre es separa mitjançant ' ; ' executat de manera seqüencial.

Tanmateix, l'intèrpret d'ordres espera que cada ordre s'executi o finalitzi abans de començar l'execució de la següent ordre disponible a la seqüència.

El drop_caches s'utilitzen per esborrar o netejar la memòria cau sense matar ni afectar cap altra aplicació o servei en execució, com també s'esmenta clarament a la documentació del nucli. el ' eco L'ordre ' fa la feina d'escriure als fitxers.

Passos per esborrar el PageCache mitjançant el terminal:

Pas 1 - Obriu el terminal a Linux i escriviu la següent comanda donada i premeu Enter. Un cop executada l'ordre, mostrarà la informació sobre la memòria del sistema, tal com es mostra a l'exemple:

Comandament

 free 

L'ordre anterior s'utilitza per mostrar quanta memòria s'utilitza i per mostrar altres factors com ara la memòria disponible total, la memòria d'intercanvi, etc. Podem utilitzar aquest ' lliure ' ordre just abans i després mentre s'utilitza cada mètode.

Cal fer servir l'ordre 'lliure' abans i després d'executar l'ordre real perquè puguem veure o detectar fàcilment els canvis en l'assignació de memòria. Vegem un exemple per entendre com funciona realment tot el procés:

Exemple

Esborra la memòria cau Linux

2. Netegeu dentures i inodes-

Aquest mètode s'utilitza per esborrar la memòria de dentries i inodes. És igual que el primer mètode, però lleugerament diferent, ja que s'utilitza per esborrar la memòria de dentries i inodes en lloc d'esborrar la memòria de PageCache. Tot i així, és molt semblant al primer mètode que hem comentat anteriorment. L'ordre que s'utilitza en aquest mètode es mostra a continuació:

Comandament

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

Vegem un exemple per entendre com implementar aquest mètode:

Exemple

convertir string en int
Esborra la memòria cau Linux

3. Netegeu les entrades i els inodes, esborra la memòria cau de la pàgina

És un dels mètodes més efectius. No obstant això, tradicionalment no es recomana utilitzar-lo fins que no sàpigues què estàs fent perquè no es considera el més segur d'utilitzar, sobretot en producció. L'ordre que s'utilitza en aquest mètode utilitza el 'echo 3 >' que neteja el PageCache, les dentries i els inodes al mateix temps.

Comandament:

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

Per entendre amb més detall com funciona realment, considereu l'exemple donat:

Exemple:

Esborra la memòria cau Linux

Nota: no es recomana utilitzar-lo en producció tret que sàpigues què estàs fent perquè netejarà a l'instant PageCache i dentaries, també inodes, com ja hem comentat anteriorment.

Intercanvi d'espai

En general, l'espai d'intercanvi s'utilitza quan la utilització de la memòria física és gairebé al màxim. Així, quan i si el sistema necessita més recursos de memòria i la memòria RAM física s'omple, totes les pàgines inactives es transfereixen a l'espai de memòria d'intercanvi.

Tanmateix, l'espai de memòria d'intercanvi també ajuda al sistema com a quantitat petita però efectiva de Ram. Tot i així, sens dubte no es recomana considerar l'espai d'intercanvi com el RAM físic.

Com esborrar l'espai d'intercanvi a Linux?

Per esborrar la memòria d'intercanvi del vostre sistema, només heu de desactivar l'intercanvi. Això tornarà a moure totes les dades de la memòria d'intercanvi a la RAM. També vol dir que heu d'assegurar-vos que teniu prou memòria RAM al vostre sistema per suportar aquesta operació.

Una manera fàcil de fer-ho és executar el 'lliure-m' per veure què s'utilitza a l'intercanvi, la memòria RAM i, a continuació, desactivar l'intercanvi.

Un cop l'hagueu desactivat, hauríeu d'esperar 30 segons o més perquè es completi l'operació i, a continuació, torneu a activar l'intercanvi. Això esborra la memòria cau de la memòria d'intercanvi i la torna a habilitar, però abans d'esborrar l'intercanvi, hauríeu de veure la configuració actual (o predeterminada) del vostre sistema.

Per veure la configuració actual de l'intercanvi del vostre sistema, només heu d'obrir el terminal, utilitzeu l'ordre següent tal com es mostra a la sortida:

 cat /proc/sys/vm/swappiness 

Sortida

Esborra la memòria cau Linux

Com podeu veure, el valor actual de Swappiness del nostre sistema és de '60' segons. Tanmateix, si voleu canviar-lo, podeu configurar-lo entre 0 i 100. El procés d'edició (actualització) d'aquest valor és força senzill. Tot, heu d'escriure l'ordre següent al terminal i prémer Intro:

Comandament:

 sudo sysctl vm.swappiness=x 

(Aquí x és el valor d'intercanvi que volem establir)

Com podeu veure a la sortida anterior, el valor d'intercanvi actual del nostre sistema (o valor predeterminat) és 60. Intentem canviar el valor d'intercanvi a 40.

java system.out.println

1. Obriu el terminal prement el botó Ctrl+Alt+T al Teclat.

Esborra la memòria cau Linux

2. Un cop s'obri el terminal, escriviu l'ordre següent i premeu Intro, tal com es mostra a la imatge següent:

 sudo sysctl vm.swappiness=40 

Sortida

Esborra la memòria cau Linux

Nota: Pot ser que us demani que introduïu la contrasenya, ja que necessitem executar aquesta ordre amb els privilegis de superusuari (usuari arrel).

Verificació

Per verificar que el valor d'intercanvi s'ha actualitzat correctament, escriviu l'ordre següent i premeu el botó Enter:

 cat /proc/sys/vm/swappiness 

Sortida

Esborra la memòria cau Linux

Com podeu veure a la sortida, hem actualitzat correctament el valor d'intercanvi a 40.

Netegeu l'espai d'intercanvi

Per esborrar l'espai d'intercanvi, el procés és bastant senzill perquè simplement ho necessitem cicle apagat l'intercanvi, a causa del qual totes les dades o pàgines inactives es transfereixen de nou a la memòria RAM des de l'espai de memòria d'intercanvi. Un cop apagueu l'intercanvi, haureu d'esperar 30 segons i reinicieu-lo o reinicieu l'espai d'intercanvi.

Ordres útils:

Aquestes són algunes ordres bàsiques que ens ajudaran a netejar l'espai d'intercanvi:

Esborra la memòria cau Linux

Passos per esborrar la memòria d'intercanvi

Vegem com utilitzar aquestes ordres per esborrar l'espai d'intercanvi o la memòria:

Pas 1. Obriu el terminal prement el botó ' Ctrl+Alt+T ' al teclat.

Pas 2. Un cop s'obri el terminal, escriviu ' sudo -i ' ordre perquè podem requerir privilegis de superusuari per executar les ordres anteriors:

Esborra la memòria cau Linux

Pas 3. Escriviu l'ordre 'free -m' per veure la utilització de la memòria abans cicle apagat el Canviar :

tutorial javafx
Esborra la memòria cau Linux

Pas - 4 Ara, escriviu ' Swapoff -a ' i premeu Intro per apagar l'intercanvi com es mostra a continuació:

Esborra la memòria cau Linux

Pas 5. Després de la cicle apagat , l'intercanvi espera almenys 40 segons.

Pas 6. Ara escriviu 'swap-a' i premeu Intro per tornar a habilitar l'intercanvi. Per veure la diferència (o el canvi) en l'ús de la memòria, executeu l'ordre 'free-m' una vegada més, tal com es mostra a continuació:

Esborra la memòria cau Linux

Amb sort, això us ajudarà a esborrar la memòria d'intercanvi del vostre sistema si mai us trobeu en aquesta situació.