Fuga de memoria
Una fuga de memoria es un tipo de error de programación que hace que un programa consuma lentamente la memoria del sistema hasta que no quede nada. Una fuga de memoria ocurre lentamente, lo que hace que el rendimiento de la computadora se deteriore gradualmente hasta que el programa falla o todo el sistema operativo se bloquea. Cerrar el programa responsable de la fuga libera la memoria del sistema y resuelve el problema hasta la próxima vez que se ejecute el programa.
Las fugas de memoria ocurren cuando un programa no libera la memoria después de que ya no la necesita. Cuando un programa ejecuta un proceso, solicita al sistema una cantidad de memoria para ejecutar ese proceso. Después de que el proceso termina, el programa debe devolver esa memoria al sistema para que otros programas puedan usarla. Si el programa no incluye las funciones correctas para liberar memoria (o esas funciones no se usan correctamente), conservará esa memoria indefinidamente. Cuando el programa vuelve a ejecutar ese proceso más adelante, solicita más memoria al sistema en lugar de usar la memoria que ya había asignado, lo que aumenta la cantidad de RAM que utiliza hasta que al sistema no le queda nada para otras funciones.
Un programa que sufre una fuga de memoria seguirá perdiendo memoria cada vez que se ejecute hasta que se corrija el error. Afortunadamente, los kits de desarrollo de software suelen incluir depuradores que pueden revisar el código fuente de un programa para detectar fugas de memoria. Una vez que el desarrollador del programa encuentra el error, puede actualizar el programa y publicar un parche.
NOTE: Algunos lenguajes de programación, como Java y Python, usan una técnica de administración de memoria llamada «recolección de basura» que recupera automáticamente la memoria y puede resolver muchos errores de fugas de memoria (aunque no todos).
Pon a prueba tu conocimiento