GNU/Linux >> Linux Esercitazione >  >> Linux

Come cancellare la cache di memoria in Linux

A volte il sistema esaurisce la memoria a causa dell'enorme quantità di RAM utilizzata dagli oggetti memorizzati nella cache. In questi casi, è necessario aumentare la memoria fisica nel sistema o aggiungere più spazio di scambio. Puoi anche indicare al kernel di svuotare la cache della memoria RAM sul sistema aggiungendo un numero in /proc/sys/vm/drop_caches file.

È sicuro, ma non consigliato, svuotare la cache di memoria su un sistema Linux. La cancellazione della cache di memoria nei sistemi Linux rallenta le prestazioni del sistema poiché la lettura dei file dalla memoria è molto più veloce del disco persistente. Poiché elimina gli oggetti memorizzati nella cache dalla memoria, può costare una quantità significativa di I/O e CPU per ricreare gli oggetti eliminati. Questo tutorial ti aiuterà a svuotare la cache di memoria sul sistema Linux/Unix tramite la riga di comando.

Come cancellare la cache di memoria su Linux

Sono disponibili tre opzioni per svuotare la cache di memoria in Linux. Scegli una delle seguenti opzioni per svuotare la memoria cache del sistema Linux secondo le tue esigenze.

  • Cancella PageCache, dentries e inode nella memoria cache. In breve cancellerà tutta la cache di memoria:
    sync; echo 3 | sudo tee /proc/sys/vm/drop_caches 
    
  • Cancella dentries e inode solo nella memoria cache
    sync; echo 2 | sudo tee /proc/sys/vm/drop_caches 
    
  • Cancella la cache della pagina solo nella memoria cache
    sync; echo 1 | sudo tee /proc/sys/vm/drop_caches 
    

Qui il primo comando sync viene utilizzato per sincronizzare tutti i file della cache in memoria nella memoria permanente. Il comando successivo è separato da un ";". Una volta completato il primo comando, verrà attivato il comando successivo per svuotare la memoria cache.

Pianifica la cancellazione della cache di memoria con Crontab

Puoi anche pianificare un lavoro di mais per svuotare la cache su base regolare. Pianifica quanto segue nel crontab di sistema per svuotare automaticamente la memoria cache a intervalli regolari.

Apri un terminale ed esegui il comando 'crontab -e' per modificare crontab:

crontab -e 

Aggiungi sotto la voce al file:

0 10 * *  * sync; echo 3 | sudo tee /proc/sys/vm/drop_caches

Il cron sopra verrà eseguito ogni ora e svuota la cache di memoria sul tuo sistema.

Sui server di produzione, non è consigliabile pianificare un comando di svuotamento della cache. Può portare alla corruzione o alla perdita di dati. Quindi attenzione prima di eseguire il comando precedente in un ambiente di produzione.

Come trovare la memoria cache in Linux

Usa gratuitamente comando per scoprire la memoria cache utilizzata dal sistema Linux. L'output del comando gratuito è come di seguito

free -m 
Output 
             total       used       free     shared    buffers     cached
Mem:         16050      15908        142          0        120      12953
-/+ buffers/cache:        834      15216
Swap:            0          0          0

Qui l'ultima colonna mostra la memoria cache (12953 MB) sul sistema Linux. Il -m l'opzione viene utilizzata per mostrare i MB di output.


Linux
  1. Come cancellare la cronologia di Bash su Linux

  2. Come cancellare la cache del browser Web dalla riga di comando in Linux

  3. Come eliminare i buffer di memoria e la cache in Linux

  4. Come cancellare il buffer/pagecache (cache del disco) in Linux

  5. Come trovare l'utilizzo della memoria dell'utente in Linux

Come cancellare la cache di memoria RAM e il buffer e lo spazio di scambio su Linux

Come disabilitare permanentemente lo scambio in Linux

Come svuotare la cache DNS su Linux

Come funziona la memoria di scambio in Linux?

Come cancellare la cache DNS su Ubuntu

Come svuotare la cache DNS su Linux?