Qual è la cache di memoria in Linux?

October 8

Qual è la cache di memoria in Linux?


In Linux, memoria cache è un'area di memoria ad accesso casuale (RAM) utilizzata come archivio temporaneo per i file. La sua dimensione cresce e si restringe come necessario, ed è ampiamente utilizzato dal kernel, o nucleo del sistema operativo, come mezzo per ridurre l'attività del disco, che si traduce in un significativo miglioramento delle prestazioni.

sfondo

Lettura e scrittura di dischi rigidi è lenta. Mentre la velocità di trasferimento dei dati del disco rigido media è di diverse centinaia di megabyte al secondo, questo è ancora molto più lento di RAM. Il risultato è che i dischi rigidi sono probabilmente il principale collo di bottiglia nel vostro computer, e le prestazioni ne risentono, non importa quanto velocemente la vostra unità centrale di elaborazione (CPU) o la memoria è.

Benefici

Poiché la memoria è molto più veloce di lettura da un disco, ha senso utilizzare il più possibile. Un modo di Linux fa questo è per la memorizzazione nella cache i file accede di frequente nella RAM. La prossima volta il file è necessario, esso può essere recuperato direttamente dalla memoria, senza la necessità di leggere dal disco. Linux utilizza solo la memoria inutilizzata per questo, in modo da non interferire con la memoria utilizzata dalle applicazioni.

Gestione

Con questo approccio, la cura deve essere presa per mantenere i dati sincronizzati. Se un file memorizzato nella cache viene modificata, deve essere scritto su disco a un certo punto. Tipicamente Linux buffer tali operazioni di scrittura fino a quando c'è un blocco di dati da scrivere, invece di fare un sacco di piccole scrive. Questo migliora le prestazioni complessive del sistema.

Dimensione

Dato che la memoria è una dimensione finita, di solito non è possibile memorizzare nella cache tutto. Le decisioni devono essere fatte sui file da memorizzare nella cache e quando rimuovere i vecchi file dalla cache. Linux fa questo mantenendo un record di frequenza con i file memorizzati nella cache vengono accesso e quando sono stati aperti. Se la memoria diventa breve, Linux eliminare i file meno frequentemente si accede dalla cache invece di quelli più accede di frequente.

Non Unico per Linux

La memoria cache non riguardano solo Linux, ma è implementato in una certa misura nella maggior parte dei sistemi operativi moderni. L'utente spesso non conosce i dettagli di memoria cache ed è consapevole solo di memoria in uso dalle applicazioni. Questo può rendere più difficile per i nuovi utenti di Linux di interpretare l'output dei comandi come "libero" e può causare confusione circa la quantità di memoria disponibile un utente.