logo

Svuota cache Linux

In questo tutorial impareremo come svuotare la cache RAM in Linux e pulire lo spazio di swap.

Come tutti gli altri sistemi operativi, anche GNU/Linux ha implementato un sistema di gestione della memoria. Tuttavia, la gestione della memoria di Linux è molto efficiente e persino molto utilizzata rispetto ad altri sistemi operativi. Tuttavia, in alcuni casi in cui desideri controllare la gestione della memoria o se ci sono uno o più processi che stanno consumando la RAM del tuo sistema. In tal caso, vogliamo fermarlo; Linux fornisce alcuni modi per eseguire lo svuotamento (svuotare la cache della RAM).

Svuota cache Linux

Come svuotare la cache in Linux?

Quasi in ogni sistema Linux sono disponibili tre metodi per svuotare la cache. Alcuni di questi possono essere utilizzati in modo straordinario senza interrompere alcun processo o servizio in corso. I tre modi sono i seguenti:

  1. Cancella solo PageCache
  2. Cancella dentature e inode
  3. Cancella dentature e inode, Cancella PageCache

Discuteremo tutti e tre i metodi in dettaglio e vedremo anche la loro implementazione pratica:

1. Cancella solo PageCache-

Questo metodo è uno dei modi più sicuri per pulire la cache di Linux perché può svuotare la cache senza interrompere operazioni, applicazioni e servizi in corso. Si dice che questo sia il modo più sicuro per pulire la cache poiché può essere utilizzato in produzione e pulisce solo PageCache. In questo metodo vengono utilizzati i seguenti comandi:

Comando

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

Spiegazione:

Nel comando sopra, il ' sincronizzare ' viene utilizzato per svuotare il buffer del file system e il comando viene separato utilizzando ' ; ' eseguito in modo sequenziale.

Tuttavia, la shell attende che ogni comando venga eseguito o terminato prima di iniziare l'esecuzione del comando successivo disponibile nella sequenza.

IL drop_caches vengono utilizzati per svuotare o pulire la cache senza uccidere o influenzare altre applicazioni o servizi in esecuzione, come è anche chiaramente menzionato nella documentazione del kernel. IL ' eco Il comando 'fa il lavoro di scrittura sui file.

Passaggi per cancellare PageCache utilizzando il terminale:

Passo 1 - Apri il Terminale in Linux e digita il seguente comando indicato, quindi premi invio. Una volta eseguito il comando, verranno visualizzate le informazioni sulla memoria del sistema, come mostrato nell'esempio:

come scaricare musica

Comando

 free 

Il comando precedente viene utilizzato per visualizzare la quantità di memoria utilizzata e visualizzare altri fattori come la memoria totale disponibile, la memoria di scambio, ecc. Possiamo usare questo ' gratuito ' comando subito prima e dopo l'utilizzo di ciascun metodo.

È necessario utilizzare il comando 'free' prima e dopo l'esecuzione del comando vero e proprio in modo da poter vedere o rilevare facilmente i cambiamenti nell'allocazione della memoria. Vediamo un esempio per capire come funziona effettivamente l'intero processo:

Esempio

Svuota cache Linux

2. Cancella dentature e inode-

Questo metodo viene utilizzato per cancellare la memoria da dentry e inode. È proprio come il primo metodo ma leggermente diverso in quanto viene utilizzato per cancellare la memoria di dentry e inode invece di cancellare la memoria di PageCache. Tuttavia, è molto simile al primo metodo di cui abbiamo discusso sopra. Il comando utilizzato in questo metodo è riportato di seguito:

Comando

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

Vediamo un esempio per capire come implementare questo metodo:

Esempio

ribasso barrato
Svuota cache Linux

3. Cancella dentature e inode, Cancella PageCache

È uno dei metodi più efficaci. Tuttavia, tradizionalmente non è consigliabile utilizzarlo finché non si sa cosa si sta facendo perché non è considerato il più sicuro da utilizzare, soprattutto in produzione. Il comando utilizzato in questo metodo utilizza 'echo 3 >' che pulisce contemporaneamente PageCache, dentries e inode.

Comando:

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

Per capire più in dettaglio come funziona effettivamente, considera l'esempio fornito:

Esempio:

Svuota cache Linux

Nota: non è consigliabile utilizzarlo in produzione a meno che non si sappia cosa si sta facendo perché pulirà immediatamente PageCache e dentries, anche gli inode, come già discusso in precedenza.

Scambia spazio

In generale, lo spazio di swap viene utilizzato quando l'utilizzo della memoria fisica è quasi al massimo. Quindi, quando e se il sistema necessita di più risorse di memoria e la ram fisica si riempie, tutte le pagine inattive vengono trasferite nello spazio di memoria di swap.

Tuttavia, lo spazio di memoria swap aiuta anche il sistema come una piccola ma efficace quantità di Ram. Tuttavia, indubbiamente non è consigliabile considerare lo Swap Space come l’Ariete Fisico.

Come cancellare lo spazio di swap in Linux?

Per cancellare la memoria di swap sul tuo sistema, devi semplicemente disattivare lo Swap. Ciò sposterà tutti i dati dalla memoria di swap alla RAM. Significa anche che devi essere sicuro di avere abbastanza RAM nel tuo sistema per supportare questa operazione.

Un modo semplice per farlo è eseguire il file 'libero-m' comando per vedere cosa viene utilizzato nello Swap, nella RAM, quindi disabilitare lo Swap.

Una volta spento, è necessario attendere 30 secondi o più per consentire il completamento dell'operazione, quindi riaccendere lo Swap. Questo cancella la cache della memoria di scambio e la riabilita, ma prima di cancellare lo scambio, dovresti vedere l'impostazione corrente (o predefinita) del tuo sistema.

Per vedere l'impostazione corrente della swappiness del tuo sistema, devi solo aprire il terminale utilizzare il seguente comando come mostrato nell'output:

 cat /proc/sys/vm/swappiness 

Produzione

Svuota cache Linux

Come puoi vedere, il valore attuale di Swappiness del nostro sistema è '60' secondi. Tuttavia, se vuoi cambiarlo, puoi impostarlo ovunque tra 0 e 100. Il processo di modifica (aggiornamento) di questo valore è abbastanza semplice. Tutto, devi digitare il seguente comando nel Terminale e premere Invio:

Comando:

 sudo sysctl vm.swappiness=x 

(Qui x è il valore di scambio che vogliamo impostare)

Come puoi vedere nell'output sopra indicato, il valore di scambio corrente del nostro sistema (o valore predefinito) è 60. Proviamo a cambiare il valore di scambio in 40.

1. Aprire il Terminale premendo il Ctrl+Alt+T sulla tastiera.

Svuota cache Linux

2. Una volta aperto il terminale, digitare il seguente comando e premere Invio, come mostrato nell'immagine riportata di seguito:

 sudo sysctl vm.swappiness=40 

Produzione

Svuota cache Linux

Nota: potrebbe essere richiesto di inserire la password poiché è necessario eseguire questo comando con i privilegi superUser (utente root).

Verifica

Per verificare che il valore di scambio sia stato aggiornato correttamente, digita il seguente comando e premi il pulsante Invio:

 cat /proc/sys/vm/swappiness 

Produzione

Svuota cache Linux

Come puoi vedere nell'output, abbiamo aggiornato con successo il valore di scambio a 40.

Cancella spazio di scambio

Per liberare lo spazio di swap, il processo è abbastanza semplice perché dobbiamo semplicemente farlo spegnere il ciclo lo Swap, grazie al quale tutti i dati o le pagine inattive vengono ritrasferiti nella RAM dallo spazio di memoria Swap. Una volta terminato lo scambio, è necessario attendere 30 secondi e riavviare o scorrere nuovamente nello spazio di scambio.

Comandi utili:

Questi sono alcuni comandi di base che ci aiuteranno a pulire lo spazio di scambio:

Svuota cache Linux

Passaggi per cancellare la memoria di scambio

Vediamo come utilizzare questi comandi per cancellare lo spazio di swap o la memoria:

Passo 1. Apri il Terminale premendo il tasto ' Ctrl+Alt+T ' sulla tastiera.

Passo 2. Una volta aperto il Terminale, digita ' sudo -i ' comando perché potremmo richiederlo privilegi di superutente per eseguire i comandi sopra indicati:

Svuota cache Linux

Passaggio 3. Digitare prima il comando 'free -m' per visualizzare l'utilizzo della memoria spegnere il ciclo IL Scambio :

Svuota cache Linux

Passaggio - 4 Ora digita ' Scambia -a ' e premi Invio per disattivare lo Swap come mostrato di seguito:

Svuota cache Linux

Passaggio 5. Dopo il spegnere il ciclo , lo Swap attende almeno 40 secondi.

funzione freccia dattiloscritta

Passaggio 6. Ora digita 'swap-a' e premi Invio per riattivare lo scambio. Per vedere la differenza (o il cambiamento) nell'utilizzo della memoria, esegui ancora una volta il comando 'free-m', come mostrato di seguito:

Svuota cache Linux

Speriamo che questo ti aiuti a cancellare la memoria di swap del tuo sistema se mai ti trovassi in una situazione del genere.