¿Por qué Linux no utiliza toda la memoria disponible?

¿Por qué Linux no utiliza toda la memoria disponible?

Tengo un VPS Linux que tiene 256 MB de memoria ( freeaunque solo encuentra 248). Sin embargo, parece que todavía tengo 85 MB libres.perose está cambiando por 255 MB. ¿Por qué es esto?

free -m

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

Respuesta1

Tienes 3 MB libres, no 85 MB. Dado que se utilizan 255 MB de intercambio y solo 88 MB de memoria que podrían usarse para almacenar datos que se intercambiaron, el kernel no tiene más opción que intercambiar al menos 167 MB. La razón por la que ha intercambiado más que eso es que el kernel consideró que el rendimiento sería mejor si usara esa memoria para un caché de disco (técnicamente, para el almacenamiento en caché de páginas) en lugar de usarla para guardar datos de aplicaciones a los que no se había accedido recientemente.

La razón por la que se mantienen libres 3 MB es para manejar ráfagas de carga en contextos donde la memoria no se puede liberar o reutilizar fácilmente. Por ejemplo, si hay una ráfaga de tráfico de red o cuando se completa la E/S del disco.

información relacionada