Las fugas de memoria, que en Java se producen, generalmente, cuando los objetos retienen referencias de forma inadecuada, pueden reducir el rendimiento y, en ocasiones, hacer que el programa falle. La perspectiva Perfilado y registro incluye vistas para analizar el uso de memoria de la aplicación y detectar las fugas.
Para el análisis de fugas de memoria, están disponibles las vistas siguientes:
Después de identificar una fuga, puede utilizar ProbeKit para diseñar sondas personalizadas que le permitan investigar objetos específicos que pueden ser causa de la fuga.
Para identificar rápidamente los candidatos de la fuga, realice análisis de fugas de memoria perfilando con un conjunto de perfilado de Análisis de fugas de memoria. También puede examinar el uso de la memoria al perfilar con el conjunto de perfilado de Análisis de memoria; puede examinar los datos con las vistas Gráfico de referencia a objetos, Referencias a objetos y Detalles del objeto, pero no puede utilizar los datos para generar una lista de candidatos de fuga.
Los análisis de fugas de memoria utilizan algoritmos avanzados para identificar posibles fugas de memoria basadas en una comparación de dos vuelcos de almacenamiento dinámico. Puede definir una configuración de perfilado que le permita capturar vuelcos de almacenamiento dinámico de forma manual, o bien, que le permita capturar vuelcos de almacenamiento dinámico automáticamente a las horas que especifica en el conjunto de perfilado.
Para analizar fugas:
Ahora, puede modificar el código para eliminar las referencias ya no son útiles, de modo que el recopilador de información no válida (basura) pueda recopilar los objetos innecesarios. Vuelva a perfilar la aplicación para verificar si ha arreglado la fuga y detectar otras fugas.
Para obtener más información, consulte la sección Análisis de fugas de memoria.
El conjunto de perfilado Análisis de memoria, con el tipo de perfilado Análisis/fugas de memoria, le permite recopilar referencias a objetos y ver vuelcos de almacenamiento dinámico. Tenga en cuenta que puede ver los datos en las vistas Gráfico de referencia a objetos, Referencias a objetos y Detalles del objeto, pero no los puede utilizar para generar una lista de candidatos de fuga.
Para investigar el uso de memoria: