Perché Linux non usa tutta la memoria disponibile


0

Ho un VPS linux che ha 256 MB di memoria ( free trova solo 248 però). Comunque sembra che abbia ancora 85 MB gratuiti, ma si scambia per 255 MB. Perchè è questo?

free -m

              total       used       free     shared    buffers     cached
Mem:           248        245          3          0         41         40
-/+ buffers/cache:        163         85
Swap:         1971        255       1716

Risposte:


3

Hai 3 MB gratuiti, non 85 MB. Dato che hai 255MB di swap usati e solo 88MB di memoria che potrebbero potenzialmente essere usati per contenere dati che sono stati scambiati, il kernel non ha altra scelta che scambiare almeno 167MB. Il motivo per cui ha cambiato più di quello è che il kernel ha giudicato che le prestazioni sarebbero state migliori se avesse usato quella memoria per una cache del disco (tecnicamente, per il caching delle pagine) piuttosto che utilizzarla per conservare i dati delle applicazioni che non erano stati recentemente consultati.

Il motivo per cui 3MB è tenuto libero è quello di gestire le raffiche di carico in contesti in cui la memoria non può essere facilmente resa gratuita o riutilizzata. Ad esempio, se c'è un aumento del traffico di rete o quando l'I / O del disco è completo.


1
Quanto a perché hai 3 invece di 85, Linux considera la cache più preziosa delle pagine dell'applicazione per le prestazioni del sistema, quindi non tenta di caricarli da swap.
Ignacio Vazquez-Abrams
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.