Si / ¿Cuándo se recupera la memoria del montón desasignada?

He estado ejecutando pruebas de memoria durante la noche en un sistema Linux incorporado. Usando vmstat he observado que la memoria libre disminuye constantemente con el tiempo. Segun algunossmaps análisis enprocfs, el montón de un proceso crece aproximadamente a la misma velocidad. Sospeché una pérdida de memoria y encontré algunos puntos en el código dondenew ydelete se utilizan regularmente. Sin embargo, no vinew llamadas sin coincidirdelete llamadas

Corrí la prueba de memoria nuevamente y esta mañana borré los cachés de memoria con la siguiente llamada

echo 3 > /proc/sys/vm/drop_caches

La memoria libre listada en vmstat se redujo a un valor cercano a cuando se inició la prueba.

¿El kernel recupera regularmente las páginas del montón no utilizadas? Si es así, ¿hay otras veces además de la anterior que se hace esto? ¿Probablemente cuando la memoria libre esté por debajo de un cierto umbral?

Respuestas a la pregunta(4)

Su respuesta a la pregunta