La respuesta a la consulta principal se encuentra más abajo, pero primero una advertencia sobre la sugerencia de Mirra:
Ten cuidado con esto:
En:/proc/sys/vm/overcommit_memory trato de poner allí 2.
En ese caso, incluso cuando haya memoria física disponible, todos los procesos que soliciten memoria del sistema operativo cuando vmcom sea mayor que vmlim recibirán errores (Tengo muchos errores y fallas con aplicaciones básicas del sistema como compiz). Y por:
vmlim =SWAP_tamaño + 0,5 * RAM_tamaño.
donde 0.5 (50%) es el valor predeterminado para el parámetro /proc/sys/vm/overcommit_ratio, puede obtener fácilmente muchos errores como yo.
Respuesta a la pregunta principal:es mejor revertir los cambios en el parámetro overcommit_memory al valor predeterminado (0 para mí (Ubuntu 12.04 LTS), pero puede ser 1 para otros sistemas operativos). De acuerdo con el excelente artículo, podemos calcular la memoria realmente utilizada por los procesos:
Memoria usada ~ total - (caché + mejora + libre) ~ 23,6 G - (6,7 G + 0,067 G + 0,136 G) ~ 16,7 G
Por lo tanto, los procesos solo utilizan 16,7 G (de 23,6 G de RAM instalada) y se puede ignorar la línea roja en la parte superior de la salida.