¿La memory Inactiva está relacionada con la Commited pero no se usa?

De la documentation de Procfs de Linux :

Active: Memory that has been used more recently and usually not reclaimed unless absolutely necessary. Inactive: Memory which has been less recently used. It is more eligible to be reclaimed for other purposes Committed_AS: The amount of memory presently allocated on the system. The committed memory is a sum of all of the memory which has been allocated by processes, even if it has not been "used" by them as of yet. (...) 

Mi pregunta se refiere a la memory Commited_AS, y la parte de ella que realmente se usa / no se usa. Según entiendo, la memory activa es la parte de la memory comprometida que realmente se usa. Sin embargo, no sé lo que sucede con la memory Inactiva; ¿Incluye también la memory comprometida pero no utilizada, además de la memory que no se ha utilizado recientemente?

La memory inactiva es la memory que un process utilizó en algún momento y todavía está asignada, pero que no se ha utilizado recientemente. Es la memory que es más probable que sea paginada para dejar espacio a los bloques recién requeridos.

La memory comprometida es el total de todo el espacio que se ha asignado nominalmente a los processs. Es el set de todos los processs de espacio de memory que creen tener disponibles, incluidos activos (en RAM y usados ​​recientemente) inactivos (en RAM y usados ​​en algún momento, pero sujetos a pagination porque su uso no era reciente) paginados (una vez en RAM y utilizado, dado que paginado para intercambiar) y nunca usado (espacio devuelto por malloc () pero aún no tocado)

Ver man proc ; para citar directamente:

Un process que asigna 1GB de memory (usando malloc (3) o similar), pero toca solo 300MB de esa memory aparecerá con solo 300MB de memory, incluso si tiene el espacio de direcciones asignado para todo el 1GB. Este 1GB es memory que ha sido "comprometida" por la VM y puede ser utilizada en cualquier momento por la aplicación de asignación.

Committed_AS se refiere a la cantidad total de memory solicitada en el sistema para la asignación de memory dinámica; esto significaría que la memory inactiva (que no está en el montón) no se count. Aquí es donde entra el poder de la memory virtual; un process "piensa" que tiene toda la memory que solicitó, pero en realidad solo tiene lo que necesita.

Esto también se relaciona directamente con la configuration de configuration overcommit_memory sysctl que se puede usar para evitar el "exceso de compromiso" de la memory, de modo que el server no se OOM mismo si alguna vez necesita toda la memory "comprometida" a la vez.