Perché ha senso memorizzare nella cache lo swap?


9

Mi sembra abbastanza controproducente memorizzare nella cache le pagine che vengono scambiate. Se si scambiano le pagine, qual è il vantaggio di prima memorizzarle nella memoria, solo per doverle spostare nel posto giusto? Anche se le pagine vengono scambiate in modo proattivo, non ha più senso "solo" scambiarle? Infatti, lo swap nella cache non è solo uno spreco di risorse?


Lei, signora / signore, ricevete da me ulteriori punti positivi per le vostre domande. Vorrei poter votare due volte.
Eli Frey,

Risposte:


12

Dopo alcune ulteriori ricerche, ho scoperto che il termine SwapCached in /proc/meminfoè fuorviante. In realtà, si riferisce al numero di byte simultanei in memoria e di scambio, in modo tale che se queste pagine non sono sporche, non è necessario sostituirle.


2
Questo è praticamente equivalente alla memorizzazione nella cache, però, non è vero? Voglio dire, WRT il sistema di gestione della memoria del kernel, "cache" significa "sia su disco che nella RAM", giusto?
SamB,

0

Non ne ho mai sentito parlare e neanche per me ha molto senso. Penso ancora che la buona vecchia regola di assicurarsi che non cambi affatto (tranne ovviamente le prenotazioni) è la cosa migliore. Ora, teoricamente, la memorizzazione nella cache delle cose nella memoria disponibile diretta che impiega un po 'di tempo a caricarsi da qualcosa di lento come un disco, ha un evidente vantaggio. Ma se sei in grado di memorizzare nella cache le pagine da scambiare, perché scambiare di nuovo in primo luogo?


0

Il punto di avere pagine duplicate tra swap e RAM è evitare di attendere il disco se:

  1. Qualcosa deve leggere da loro

  2. Devono essere sfrattati per fare spazio a qualcos'altro

Se fossero solo in scambio, il caso 1. significherebbe aspettare che arrivino dal disco; se fossero solo nella RAM, il caso 2. significherebbe aspettare che finiscano sul disco.

(Naturalmente, il caso 2 è in realtà un po 'più complicato, dal momento che ovviamente è più economico sfrattare tali pagine, quindi il kernel probabilmente li sfrutta preferenzialmente, ma il punto dovrebbe essere chiaro.)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.