Fugas de memoria
El proceso de fuga de memoria representa un aumento gradual en el volumen de memoria RAM que consume un programa en ejecución. Generalmente, es consecuencia de un error en el programa debido al cual la memoria no utilizada no se libera.
Las fugas de memoria son especialmente peligrosas en programas que se ejecutan durante largos periodos sin reiniciarse. En este caso, después de un tiempo, dicho programa puede agotar todo el volumen disponible de memoria RAM, lo que llevará a una parada de emergencia del programa o, lo que es peor, a un funcionamiento incorrecto.
Existen las siguientes formas de prevenir las fugas de memoria:
- Uso de recolectores de basura, que liberan memoria no utilizada, pero al mismo tiempo toman parte de los recursos del sistema para su funcionamiento, lo que provoca ralentizaciones o bloqueos en su funcionamiento.
- Reinicio del programa mediante un programa externo, como resultado del cual, tras finalizar el trabajo del programa, toda la memoria vuelve al sistema y las fugas dejan de ser tan importantes.
- Renuncia a la asignación dinámica de memoria, lo que a su vez excluye este tipo de errores, pero también limita la funcionalidad de los programas.
- Uso de punteros propietarios para sincronizar el tiempo de vida del puntero y el tiempo de vida del objeto al que referencia. Sin embargo, este método no es adecuado para referencias cíclicas entre objetos.
Véase también
-
periodo tiempo de ejecución,
durante el cual se ejecuta el programa -
Datos de origen,
que representan la ubicación de los datos -
conjunto de programas Software,
que asegura el funcionamiento de las aplicaciones -
conjunto de programas Sistema operativo,
que asegura la gestión de los sistemas informáticos